1<!--$Id: repmgr_ack_policy.so,v 1.6 2008/01/30 20:14:30 sue Exp $--> 2<!--Copyright (c) 1997,2008 Oracle. All rights reserved.--> 3<!--See the file LICENSE for redistribution information.--> 4<html> 5<head> 6<title>Berkeley DB: DbEnv::repmgr_set_ack_policy</title> 7<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit."> 8<meta name="keywords" content="embedded,database,programmatic,toolkit,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,Java,C,C++"> 9</head> 10<body bgcolor=white> 11<table width="100%"><tr valign=top> 12<td> 13<b>DbEnv::repmgr_set_ack_policy</b> 14</td> 15<td align=right> 16<a href="../api_cxx/api_core.html"><img src="../images/api.gif" alt="API"></a> 17<a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a></td> 18</tr></table> 19<hr size=1 noshade> 20<tt> 21<b><pre> 22#include <db_cxx.h> 23<p> 24int 25DbEnv::repmgr_set_ack_policy(int ack_policy); 26<p> 27int 28DbEnv::repmgr_get_ack_policy(int *ack_policyp); 29</pre></b> 30<hr size=1 noshade> 31<b>Description: DbEnv::repmgr_set_ack_policy</b> 32<p>The DbEnv::repmgr_set_ack_policy method specifies how master and client sites 33will handle acknowledgment of replication messages which are necessary 34for "permanent" records. The current implementation requires all 35sites in a replication group configure the same acknowledgement 36policy.</p> 37<p>The database environment's replication subsystem may also be configured using the 38environment's <a href="../ref/env/db_config.html#DB_CONFIG">DB_CONFIG</a> file. The syntax of the entry in that 39file is a single line with the string "repmgr_set_ack_policy", one or more whitespace 40characters, and the <b>ack_policy</b> parameter specified as a string. 41For example, "repmgr_set_ack_policy DB_REPMGR_ACKS_ALL". 42Because the <a href="../ref/env/db_config.html#DB_CONFIG">DB_CONFIG</a> file is read when the database environment 43is opened, it will silently overrule configuration done before that 44time.</p> 45<p>The DbEnv::repmgr_set_ack_policy method configures a database environment, not only operations 46performed using the specified <a href="../api_cxx/env_class.html">DbEnv</a> handle.</p> 47<p>The DbEnv::repmgr_set_ack_policy method may be called at any time during the life of the 48application.</p> 49<p>The DbEnv::repmgr_set_ack_policy method 50either returns a non-zero error value 51or throws an exception that encapsulates a non-zero error value on 52failure, and returns 0 on success. 53</p> 54<b>Parameters</b> <br> 55 <b>ack_policy</b><ul compact><li>The <b>ack_policy</b> parameter must be set to one of the following 56values:</ul> 57<br> 58<b><a name="DB_REPMGR_ACKS_ALL">DB_REPMGR_ACKS_ALL</a></b><ul compact><li>The master should wait until all replication clients have acknowledged 59each permanent replication message.</ul> 60<b><a name="DB_REPMGR_ACKS_ALL_PEERS">DB_REPMGR_ACKS_ALL_PEERS</a></b><ul compact><li>The master should wait until all electable peers have acknowledged each 61permanent replication message (where "electable peer" means a client 62capable of being subsequently elected master of the replication 63group).</ul> 64<b><a name="DB_REPMGR_ACKS_NONE">DB_REPMGR_ACKS_NONE</a></b><ul compact><li>The master should not wait for any client replication message 65acknowledgments.</ul> 66<b><a name="DB_REPMGR_ACKS_ONE">DB_REPMGR_ACKS_ONE</a></b><ul compact><li>The master should wait until at least one client site has acknowledged 67each permanent replication message.</ul> 68<b><a name="DB_REPMGR_ACKS_ONE_PEER">DB_REPMGR_ACKS_ONE_PEER</a></b><ul compact><li>The master should wait until at least one electable peer has 69acknowledged each permanent replication message (where "electable peer" 70means a client capable of being subsequently elected master of the 71replication group).</ul> 72<b><a name="DB_REPMGR_ACKS_QUORUM">DB_REPMGR_ACKS_QUORUM</a></b><ul compact><li>The master should wait until it has received acknowledgements from the 73minimum number of electable peers sufficient to ensure that the effect 74of the permanent record remains durable if an election is held (where 75"electable peer" means a client capable of being subsequently elected 76master of the replication group). This is the default acknowledgement 77policy.</ul> 78<br> 79<p>Waiting for client acknowledgements is always limited by the 80<a href="../api_cxx/rep_timeout.html#DB_REP_ACK_TIMEOUT">DB_REP_ACK_TIMEOUT</a> specified by <a href="../api_cxx/rep_timeout.html">DbEnv::rep_set_timeout</a>.</p> 81<br> 82<hr size=1 noshade> 83<b>Description: DbEnv::repmgr_get_ack_policy</b> 84<p>The DbEnv::repmgr_get_ack_policy method returns the replication manager's client acknowledgment policy.</p> 85<p>The DbEnv::repmgr_get_ack_policy method may be called at any time during the life of the 86application.</p> 87<p>The DbEnv::repmgr_get_ack_policy method 88either returns a non-zero error value 89or throws an exception that encapsulates a non-zero error value on 90failure, and returns 0 on success. 91</p> 92<b>Parameters</b> <br> 93 <b>ack_policyp</b><ul compact><li>The DbEnv::repmgr_get_ack_policy method returns the 94replication manager's client acknowledgment policy in <b>ack_policyp</b>.</ul> 95<br> 96<hr size=1 noshade> 97<br><b>Class</b> 98<a href="../api_cxx/env_class.html">DbEnv</a> 99<br><b>See Also</b> 100<a href="../api_cxx/rep_list.html">Replication and Related Methods</a> 101</tt> 102<table width="100%"><tr><td><br></td><td align=right> 103<a href="../api_cxx/api_core.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a> 104</td></tr></table> 105<p><font size=1>Copyright (c) 1996,2008 Oracle. All rights reserved.</font> 106</body> 107</html> 108