# Berkeley DB: DbEnv::repmgr_set_ack_policy
Berkeley DB: An embedded database programmatic toolkit.
Keywords: embedded,database,programmatic,toolkit,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,Java,C,C++

DbEnv::repmgr_set_ack_policy |

`

    #include <db_cxx.h>

    int
    DbEnv::repmgr_set_ack_policy(int ack_policy);

    int
    DbEnv::repmgr_get_ack_policy(int *ack_policyp);

Description: DbEnv::repmgr_set_ack_policy

The DbEnv::repmgr_set_ack_policy method specifies how master and client sites will handle acknowledgment of replication messages which are necessary for "permanent" records. The current implementation requires all sites in a replication group configure the same acknowledgement policy.

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 "repmgr_set_ack_policy", one or more whitespace characters, and the ack_policy parameter specified as a string. For example, "repmgr_set_ack_policy DB_REPMGR_ACKS_ALL". Because the DB_CONFIG file is read when the database environment is opened, it will silently overrule configuration done before that time.

The DbEnv::repmgr_set_ack_policy method configures a database environment, not only operations performed using the specified DbEnv handle.

The DbEnv::repmgr_set_ack_policy method may be called at any time during the life of the application.

The DbEnv::repmgr_set_ack_policy 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
ack_policy

- The ack_policy parameter must be set to one of the following values:

DB_REPMGR_ACKS_ALL

- The master should wait until all replication clients have acknowledged each permanent replication message.

DB_REPMGR_ACKS_ALL_PEERS

- The master should wait until all electable peers have acknowledged each permanent replication message (where "electable peer" means a client capable of being subsequently elected master of the replication group).

DB_REPMGR_ACKS_NONE

- The master should not wait for any client replication message acknowledgments.

DB_REPMGR_ACKS_ONE

- The master should wait until at least one client site has acknowledged each permanent replication message.

DB_REPMGR_ACKS_ONE_PEER

- The master should wait until at least one electable peer has acknowledged each permanent replication message (where "electable peer" means a client capable of being subsequently elected master of the replication group).

DB_REPMGR_ACKS_QUORUM

- The master should wait until it has received acknowledgements from the minimum number of electable peers sufficient to ensure that the effect of the permanent record remains durable if an election is held (where "electable peer" means a client capable of being subsequently elected master of the replication group). This is the default acknowledgement policy.

Waiting for client acknowledgements is always limited by the DB_REP_ACK_TIMEOUT specified by DbEnv::rep_set_timeout.

Description: DbEnv::repmgr_get_ack_policy

The DbEnv::repmgr_get_ack_policy method returns the replication manager's client acknowledgment policy.

The DbEnv::repmgr_get_ack_policy method may be called at any time during the life of the application.

The DbEnv::repmgr_get_ack_policy 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
ack_policyp

- The DbEnv::repmgr_get_ack_policy method returns the replication manager's client acknowledgment policy in ack_policyp.

Class DbEnv
See Also Replication and Related Methods`

Copyright (c) 1996,2008 Oracle. All rights reserved.