libdb/docs/api_reference/C/repclockskew.html

216 lines
9.3 KiB
HTML
Raw Normal View History

2011-09-13 17:44:24 +00:00
<?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>DB_ENV-&gt;rep_set_clockskew()</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 10.  Replication Methods" />
<link rel="prev" href="repmessage.html" title="DB_ENV-&gt;rep_process_message()" />
<link rel="next" href="repconfig.html" title="DB_ENV-&gt;rep_set_config()" />
</head>
<body>
<div xmlns="" class="navheader">
<div class="libver">
<p>Library Version 11.2.5.2</p>
</div>
<table width="100%" summary="Navigation header">
<tr>
<th colspan="3" align="center">DB_ENV-&gt;rep_set_clockskew()</th>
</tr>
<tr>
<td width="20%" align="left"><a accesskey="p" href="repmessage.html">Prev</a> </td>
<th width="60%" align="center">Chapter 10. 
Replication Methods
</th>
<td width="20%" align="right"> <a accesskey="n" href="repconfig.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="repclockskew"></a>DB_ENV-&gt;rep_set_clockskew()</h2>
</div>
</div>
</div>
<pre class="programlisting">#include &lt;db.h&gt;
int
DB_ENV-&gt;rep_set_clockskew(DB_ENV *env,
u_int32_t fast_clock, u_int32_t slow_clock); </pre>
<p>
The <code class="methodname">DB_ENV-&gt;rep_set_clockskew()</code> method sets the
clock skew ratio among replication group members based on the fastest
and slowest measurements among the group for use with master leases.
Calling this method is optional; the default values for clock skew
assume no skew. The user must also configure leases via the
<a class="xref" href="repconfig.html" title="DB_ENV-&gt;rep_set_config()">DB_ENV-&gt;rep_set_config()</a>
method. Additionally, the user must also set the master lease timeout
via the
<a class="xref" href="repset_timeout.html" title="DB_ENV-&gt;rep_set_timeout()">DB_ENV-&gt;rep_set_timeout()</a>
method. For Base API applications, the user must also set the number of
sites in the replication group via the
<a class="xref" href="repnsites.html" title="DB_ENV-&gt;rep_set_nsites()">DB_ENV-&gt;rep_set_nsites()</a>
method. These methods may be called in any order. For a description
of the clock skew values, see
<a href="../../programmer_reference/rep_clock_skew.html" class="olink">Clock skew</a>
in the <em class="citetitle">Berkeley DB Programmer's Reference Guide</em>. For a description of
master leases, see
<a href="../../programmer_reference/rep_lease.html" class="olink">Master leases</a> in the
<em class="citetitle">Berkeley DB Programmer's Reference Guide</em>.
</p>
<p>
These arguments can be used to express either raw measurements of a
clock timing experiment or a percentage across machines. For example, if
a group of sites has a 2% variance, then <span class="bold"><strong>fast_clock</strong></span> should be set to 102, and
<span class="bold"><strong>slow_clock</strong></span> should be set to 100. Or,
for a 0.03% difference, you can use 10003 and 10000 respectively.
</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
"rep_set_clockskew", one or more whitespace characters, and the
clockskew specified in two parts: the fast_clock and the
slow_clock. For example, "rep_set_clockskew 102 100". 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>
The <code class="methodname">DB_ENV-&gt;rep_set_clockskew()</code> method configures a database
environment, not only operations performed using the specified
<a class="link" href="env.html" title="Chapter 5.  The DB_ENV Handle">DB_ENV</a> handle.
</p>
<p>
The <code class="methodname">DB_ENV-&gt;rep_set_clockskew()</code> method may not be called after the
<a class="xref" href="repmgrstart.html" title="DB_ENV-&gt;repmgr_start()">DB_ENV-&gt;repmgr_start()</a> or
<a class="xref" href="repstart.html" title="DB_ENV-&gt;rep_start()">DB_ENV-&gt;rep_start()</a>
methods are called.
</p>
<p>
The <code class="methodname">DB_ENV-&gt;rep_set_clockskew()</code> <span>
<span>
method returns a non-zero error value on failure and 0 on success.
</span>
</span>
</p>
<div class="sect2" lang="en" xml:lang="en">
<div class="titlepage">
<div>
<div>
2011-12-20 00:07:10 +00:00
<h3 class="title"><a id="id3747506"></a>Parameters</h3>
2011-09-13 17:44:24 +00:00
</div>
</div>
</div>
<div class="sect3" lang="en" xml:lang="en">
<div class="titlepage">
<div>
<div>
2011-12-20 00:07:10 +00:00
<h4 class="title"><a id="id3747651"></a>fast_clock</h4>
2011-09-13 17:44:24 +00:00
</div>
</div>
</div>
<p>
The value, relative to the <span class="bold"><strong>slow_clock</strong></span>,
of the fastest clock in the group of sites.
</p>
</div>
<div class="sect3" lang="en" xml:lang="en">
<div class="titlepage">
<div>
<div>
2011-12-20 00:07:10 +00:00
<h4 class="title"><a id="id3747935"></a>slow_clock</h4>
2011-09-13 17:44:24 +00:00
</div>
</div>
</div>
<p>
The value of the slowest clock in the group of sites.
</p>
</div>
</div>
<div class="sect2" lang="en" xml:lang="en">
<div class="titlepage">
<div>
<div>
2011-12-20 00:07:10 +00:00
<h3 class="title"><a id="id3747440"></a>Errors</h3>
2011-09-13 17:44:24 +00:00
</div>
</div>
</div>
<p>
The <code class="methodname">DB_ENV-&gt;rep_set_clockskew()</code> <span>
<span>
method may fail and return one of the following non-zero errors:
</span>
</span>
</p>
<div class="sect3" lang="en" xml:lang="en">
<div class="titlepage">
<div>
<div>
2011-12-20 00:07:10 +00:00
<h4 class="title"><a id="id3748271"></a>EINVAL</h4>
2011-09-13 17:44:24 +00:00
</div>
</div>
</div>
<p>
If the method was called after replication is started with a
call to the
<a class="xref" href="repmgrstart.html" title="DB_ENV-&gt;repmgr_start()">DB_ENV-&gt;repmgr_start()</a> or the
<a class="xref" href="repstart.html" title="DB_ENV-&gt;rep_start()">DB_ENV-&gt;rep_start()</a> method; 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>
2011-12-20 00:07:10 +00:00
<h3 class="title"><a id="id3748253"></a>Class</h3>
2011-09-13 17:44:24 +00:00
</div>
</div>
</div>
<p>
<a class="link" href="env.html" title="Chapter 5.  The DB_ENV Handle">DB_ENV</a>
</p>
</div>
<div class="sect2" lang="en" xml:lang="en">
<div class="titlepage">
<div>
<div>
2011-12-20 00:07:10 +00:00
<h3 class="title"><a id="id3748307"></a>See Also</h3>
2011-09-13 17:44:24 +00:00
</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="repmessage.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="repconfig.html">Next</a></td>
</tr>
<tr>
<td width="40%" align="left" valign="top">DB_ENV-&gt;rep_process_message() </td>
<td width="20%" align="center">
<a accesskey="h" href="index.html">Home</a>
</td>
<td width="40%" align="right" valign="top"> DB_ENV-&gt;rep_set_config()</td>
</tr>
</table>
</div>
</body>
</html>