DB_ENV->rep_set_priority()

#include <db.h>

int
DB_ENV->rep_set_priority(DB_ENV *env, u_int32_t priority);  

The DB_ENV->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 DB_ENV->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 DB_ENV->rep_set_priority() method configures a database environment, not only operations performed using the specified DB_ENV handle.

The DB_ENV->rep_set_priority() method may be called at any time during the life of the application.

The DB_ENV->rep_set_priority() method returns a non-zero error value on failure and 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 DB_ENV->rep_set_priority() method may fail and 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

DB_ENV

See Also

Replication and Related Methods