repmgr_ack_policy.html   [plain text]


<!--$Id: repmgr_ack_policy.so,v 1.5 2006/09/07 19:26:44 alanb Exp $-->
<!--Copyright (c) 1997,2007 Oracle.  All rights reserved.-->
<!--See the file LICENSE for redistribution information.-->
<html>
<head>
<title>Berkeley DB: DbEnv::repmgr_set_ack_policy</title>
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
<meta name="keywords" content="embedded,database,programmatic,toolkit,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,Java,C,C++">
</head>
<body bgcolor=white>
<table width="100%"><tr valign=top>
<td>
<h3>DbEnv::repmgr_set_ack_policy</h3>
</td>
<td align=right>
<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></td>
</tr></table>
<hr size=1 noshade>
<tt>
<h3><pre>
#include &lt;db_cxx.h&gt;
<p>
int
DbEnv::repmgr_set_ack_policy(int ack_policy);
<p>
int
DbEnv::repmgr_get_ack_policy(int *ack_policyp);
</pre></h3>
<hr size=1 noshade>
<h3>Description: DbEnv::repmgr_set_ack_policy</h3>
<p>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.</p>
<p>The DbEnv::repmgr_set_ack_policy method configures a database environment, not only operations
performed using the specified <a href="../api_cxx/env_class.html">DbEnv</a> handle.</p>
<p>The DbEnv::repmgr_set_ack_policy method may be called at any time during the life of the
application.</p>
<p>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.
</p>
<h3>Parameters</h3>
<dl compact>
<dt><b>ack_policy</b><dd>The <b>ack_policy</b> parameter must be set to one of the following
values:
<dl compact>
<dt><a name="DB_REPMGR_ACKS_ALL">DB_REPMGR_ACKS_ALL</a><dd>The master should wait until all replication clients have acknowledged
each permanent replication message.
<dt><a name="DB_REPMGR_ACKS_ALL_PEERS">DB_REPMGR_ACKS_ALL_PEERS</a><dd>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).
<dt><a name="DB_REPMGR_ACKS_NONE">DB_REPMGR_ACKS_NONE</a><dd>The master should not wait for any client replication message
acknowledgments.
<dt><a name="DB_REPMGR_ACKS_ONE">DB_REPMGR_ACKS_ONE</a><dd>The master should wait until at least one client site has acknowledged
each permanent replication message.
<dt><a name="DB_REPMGR_ACKS_ONE_PEER">DB_REPMGR_ACKS_ONE_PEER</a><dd>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).
<dt><a name="DB_REPMGR_ACKS_QUORUM">DB_REPMGR_ACKS_QUORUM</a><dd>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.
</dl>
<p>Waiting for client acknowledgements is always limited by the
<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>
</dl>
<hr size=1 noshade>
<h3>Description: DbEnv::repmgr_get_ack_policy</h3>
<p>The DbEnv::repmgr_get_ack_policy method returns the replication manager's client acknowledgment policy.</p>
<p>The DbEnv::repmgr_get_ack_policy method may be called at any time during the life of the
application.</p>
<p>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.
</p>
<h3>Parameters</h3>
<dl compact>
<dt><b>ack_policyp</b><dd>The DbEnv::repmgr_get_ack_policy method returns  the
replication manager's client acknowledgment policy in <b>ack_policyp</b>.
</dl>
<hr size=1 noshade>
<h3>Class</h3>
<a href="../api_cxx/env_class.html">DbEnv</a>
<h3>See Also</h3>
<a href="../api_cxx/rep_list.html">Replication and Related Methods</a>
</tt>
<table width="100%"><tr><td><br></td><td align=right>
<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>
</td></tr></table>
<p><font size=1>Copyright (c) 1996,2007 Oracle.  All rights reserved.</font>
</body>
</html>