Sophie

Sophie

distrib > Mandriva > 2010.1 > x86_64 > media > main-release > by-pkgid > a00abf5f94bf470fd4cc9e10b2d135e0 > files > 696

lib64db4.8-devel-4.8.26-1mdv2010.1.x86_64.rpm

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>DbEnv::repmgr_set_ack_policy()</title>
    <link rel="stylesheet" href="apiReference.css" type="text/css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
    <link rel="start" href="index.html" title="Berkeley DB C++ API Reference" />
    <link rel="up" href="rep.html" title="Chapter 11.  Replication Methods" />
    <link rel="prev" href="repmgrget_ack_policy.html" title="DbEnv::repmgr_get_ack_policy()" />
    <link rel="next" href="repmgrlocal_site.html" title="DbEnv::repmgr_set_local_site()" />
  </head>
  <body>
    <div class="navheader">
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">DbEnv::repmgr_set_ack_policy()</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="repmgrget_ack_policy.html">Prev</a> </td>
          <th width="60%" align="center">Chapter 11. 
                Replication Methods
        </th>
          <td width="20%" align="right"> <a accesskey="n" href="repmgrlocal_site.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h2 class="title" style="clear: both"><a id="repmgrset_ack_policy"></a>DbEnv::repmgr_set_ack_policy()</h2>
          </div>
        </div>
      </div>
      <pre class="programlisting">#include &lt;db_cxx.h&gt;

int
DbEnv::repmgr_set_ack_policy(int ack_policy); </pre>
      <p>
         The <code class="methodname">DbEnv::repmgr_set_ack_policy()</code> 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 database environment's replication subsystem may also be configured using the
         environment's <a href="../../programmer_reference/env_db_config.html#env_db_config.DB_CONFIG" class="olink">DB_CONFIG</a> 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 <span class="bold"><strong>ack_policy</strong></span>
         parameter specified as a string. For example, "repmgr_set_ack_policy DB_REPMGR_ACKS_ALL".
         Because the <a href="../../programmer_reference/env_db_config.html#env_db_config.DB_CONFIG" class="olink">DB_CONFIG</a> file is read
         when the database environment is opened, it will silently overrule configuration done
         before that time.
    </p>
      <p>
        Waiting for client acknowledgements is always limited by the
        <a class="link" href="repset_timeout.html#set_timeout_DB_REP_ACK_TIMEOUT">DB_REP_ACK_TIMEOUT</a>
        specified by the <a class="xref" href="repset_timeout.html" title="DbEnv::rep_set_timeout()">DbEnv::rep_set_timeout()</a> method.
    </p>
      <p>
         The <code class="methodname">DbEnv::repmgr_set_ack_policy()</code> method configures a database
         environment, not only operations performed using the specified 
         <a class="link" href="env.html" title="Chapter 5.  The DbEnv Handle">DbEnv</a>  handle.
    </p>
      <p>
         The <code class="methodname">DbEnv::repmgr_set_ack_policy()</code> method may be called at any time
         during the life of the application.
    </p>
      <p>
         The <code class="methodname">DbEnv::repmgr_set_ack_policy()</code> <span>
            
            <span>
                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.
            </span>
        </span>
    </p>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="id1707608"></a>Parameters</h3>
            </div>
          </div>
        </div>
        <div class="sect3" lang="en" xml:lang="en">
          <div class="titlepage">
            <div>
              <div>
                <h4 class="title"><a id="id1707705"></a>ack_policy</h4>
              </div>
            </div>
          </div>
          <p>
                        Some acknowledgement policies use the concept of an
                        electable peer, which is a client capable of being
                        subsequently elected master of the replication
                        group.  The <span class="bold"><strong>ack_policy</strong></span> parameter
                        must be set to one of the following values:
                     </p>
          <div class="itemizedlist">
            <ul type="disc">
              <li>
                <p><a id="ackspolicy_DB_REPMGR_ACKS_ALL"></a>
                                 <span class="bold"><strong>DB_REPMGR_ACKS_ALL</strong></span>
                             </p>
                <p>
                                The master should wait until all replication clients have acknowledged
                                each permanent replication message.
                             </p>
              </li>
              <li>
                <p><a id="ackspolicy_DB_REPMGR_ACKS_ALL_PEERS"></a>
                                 <span class="bold"><strong>DB_REPMGR_ACKS_ALL_PEERS</strong></span>
                             </p>
                <p>
                                The master should wait until all electable peers have acknowledged
                                each permanent replication message.
                             </p>
              </li>
              <li>
                <p><a id="ackspolicy_DB_REPMGR_ACKS_NONE"></a>
                                 <span class="bold"><strong>DB_REPMGR_ACKS_NONE</strong></span>
                             </p>
                <p>
                                The master should not wait for any client replication message
                                acknowledgments.
                             </p>
              </li>
              <li>
                <p><a id="ackspolicy_DB_REPMGR_ACKS_ONE"></a>
                                 <span class="bold"><strong>DB_REPMGR_ACKS_ONE</strong></span>
                             </p>
                <p>
                                The master should wait until at least one client site has acknowledged
                                each permanent replication message.
                             </p>
              </li>
              <li>
                <p><a id="ackspolicy_DB_REPMGR_ACKS_ONE_PEER"></a>
                                 <span class="bold"><strong>DB_REPMGR_ACKS_ONE_PEER</strong></span>
                             </p>
                <p>
                                The master should wait until at least one electable peer has
                                acknowledged each permanent replication message.
                             </p>
              </li>
              <li>
                <p><a id="ackspolicy_DB_REPMGR_ACKS_QUORUM"></a>
                                 <span class="bold"><strong>DB_REPMGR_ACKS_QUORUM</strong></span>
                             </p>
                <p>
                                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.  This is the default acknowledgement
                                policy.
                             </p>
              </li>
            </ul>
          </div>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="id1707846"></a>Errors</h3>
            </div>
          </div>
        </div>
        <p>
            The <code class="methodname">DbEnv::repmgr_set_ack_policy()</code>
            <span>
            
            <span>
                method may fail and throw a <a class="link" href="dbexception.html" title="Chapter 6. The DbException Class">DbException</a> 
                exception, encapsulating one of the following non-zero errors, or return one
                of the following non-zero errors:
            </span>
        </span>
        </p>
        <div class="sect3" lang="en" xml:lang="en">
          <div class="titlepage">
            <div>
              <div>
                <h4 class="title"><a id="id1708032"></a>EINVAL</h4>
              </div>
            </div>
          </div>
          <p>
                If this method is called from a base replication API
                application; or if an invalid flag value or parameter was
                specified.
            </p>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="id1707904"></a>Class</h3>
            </div>
          </div>
        </div>
        <p>
                <a class="link" href="env.html" title="Chapter 5.  The DbEnv Handle">DbEnv</a>  
            </p>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="id1707976"></a>See Also</h3>
            </div>
          </div>
        </div>
        <p>
                     <a class="xref" href="rep.html#replist" title="Replication and Related Methods">Replication and Related Methods</a> 
                </p>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="repmgrget_ack_policy.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="rep.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="repmgrlocal_site.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">DbEnv::repmgr_get_ack_policy() </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> DbEnv::repmgr_set_local_site()</td>
        </tr>
      </table>
    </div>
  </body>
</html>