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: DB_ENV-&gt;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>DB_ENV-&gt;repmgr_set_ack_policy</b>
14</td>
15<td align=right>
16<a href="../api_c/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 &lt;db.h&gt;
23<p>
24int
25DB_ENV-&gt;repmgr_set_ack_policy(DB_ENV *env, int ack_policy);
26<p>
27int
28DB_ENV-&gt;repmgr_get_ack_policy(DB_ENV *env, int *ack_policyp);
29</pre></b>
30<hr size=1 noshade>
31<b>Description: DB_ENV-&gt;repmgr_set_ack_policy</b>
32<p>The DB_ENV-&gt;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 DB_ENV-&gt;repmgr_set_ack_policy method configures a database environment, not only operations
46performed using the specified <a href="../api_c/env_class.html">DB_ENV</a> handle.</p>
47<p>The DB_ENV-&gt;repmgr_set_ack_policy method may be called at any time during the life of the
48application.</p>
49<p>The DB_ENV-&gt;repmgr_set_ack_policy method
50returns a non-zero error value on failure
51and 0 on success.
52</p>
53<b>Parameters</b> <br>
54 <b>ack_policy</b><ul compact><li>The <b>ack_policy</b> parameter must be set to one of the following
55values:</ul>
56<br>
57<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
58each permanent replication message.</ul>
59<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
60permanent replication message (where "electable peer" means a client
61capable of being subsequently elected master of the replication
62group).</ul>
63<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
64acknowledgments.</ul>
65<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
66each permanent replication message.</ul>
67<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
68acknowledged each permanent replication message (where "electable peer"
69means a client capable of being subsequently elected master of the
70replication group).</ul>
71<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
72minimum number of electable peers sufficient to ensure that the effect
73of the permanent record remains durable if an election is held (where
74"electable peer" means a client capable of being subsequently elected
75master of the replication group).  This is the default acknowledgement
76policy.</ul>
77<br>
78<p>Waiting for client acknowledgements is always limited by the
79<a href="../api_c/rep_timeout.html#DB_REP_ACK_TIMEOUT">DB_REP_ACK_TIMEOUT</a> specified by <a href="../api_c/rep_timeout.html">DB_ENV-&gt;rep_set_timeout</a>.</p>
80<br>
81<hr size=1 noshade>
82<b>Description: DB_ENV-&gt;repmgr_get_ack_policy</b>
83<p>The DB_ENV-&gt;repmgr_get_ack_policy method returns the replication manager's client acknowledgment policy.</p>
84<p>The DB_ENV-&gt;repmgr_get_ack_policy method may be called at any time during the life of the
85application.</p>
86<p>The DB_ENV-&gt;repmgr_get_ack_policy method
87returns a non-zero error value on failure
88and 0 on success.
89</p>
90<b>Parameters</b> <br>
91 <b>ack_policyp</b><ul compact><li>The DB_ENV-&gt;repmgr_get_ack_policy method returns  the
92replication manager's client acknowledgment policy in <b>ack_policyp</b>.</ul>
93<br>
94<hr size=1 noshade>
95<br><b>Class</b>
96<a href="../api_c/env_class.html">DB_ENV</a>
97<br><b>See Also</b>
98<a href="../api_c/rep_list.html">Replication and Related Methods</a>
99</tt>
100<table width="100%"><tr><td><br></td><td align=right>
101<a href="../api_c/api_core.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
102</td></tr></table>
103<p><font size=1>Copyright (c) 1996,2008 Oracle.  All rights reserved.</font>
104</body>
105</html>
106