Library Version 18.1.40

DbEnv::rep_set_priority()
Prev | Chapter 11. Replication Methods | Next

## DbEnv::rep_set_priority()

    #include <db_cxx.h>

    int
    DbEnv::rep_set_priority(u_int32_t priority);

The `DbEnv::rep_set_priority()` method specifies the database environment's priority in replication group elections. A special value of 0 indicates that this environment cannot be a replication group master.

### Note

The DbEnv::repmgr_set_ack_policy() method describes electable peers, which are replication sites with a non-zero priority. For some acknowledgement policies, Replication Manager's computation of the durability result for each new update transaction is sensitive to whether each site in the group is a peer. Therefore, if you change a site's priority from a non-zero value to `0`, or from `0` to a non-zero value, this can invalidate the durability result of previously committed transactions.

The database environment's replication subsystem may also be configured using the environment's DB_CONFIG file. The syntax of the entry in that file is a single line with the string "rep_set_priority", one or more whitespace characters, and the priority of this site. For example, "rep_set_priority 1" sets the priority of this site to 1. Because the DB_CONFIG file is read when the database environment is opened, it will silently overrule configuration done before that time.

Note that if the application never explicitly sets a priority, then a default value of 100 is used. In preferred master mode, priority values for each site are automatically set and any attempt to change them results in an error.

The `DbEnv::rep_set_priority()` method configures a database environment, not only operations performed using the specified DbEnv handle.

The `DbEnv::rep_set_priority()` method may be called at any time during the life of the application.

The `DbEnv::rep_set_priority()` method either returns a non-zero error value or throws an exception that encapsulates a non-zero error value on failure, and returns 0 on success.

### Parameters

#### priority

The priority of this database environment in the replication group. The priority must be a non-zero integer, or 0 if this environment cannot be a replication group master. (See Replication environment priorities for more information).

### Errors

The `DbEnv::rep_set_priority()` method may fail and throw a DbException exception, encapsulating one of the following non-zero errors, or return one of the following non-zero errors:

#### DB_REP_INELECT

If attempting to change the database environment's priority while an election is in progress.

#### EINVAL

If changing the automatically set priority value in Replication Manager preferred master mode.

### Class

DbEnv

### See Also

Replication and Related Methods

Prev | Up | Next
DbEnv::rep_set_nsites() | Home | DbEnv::rep_set_request()