1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196
|
<?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>Chapter 5. Additional Features</title>
<link rel="stylesheet" href="gettingStarted.css" type="text/css" />
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
<link rel="start" href="index.html" title="Getting Started with Replicated Berkeley DB Applications" />
<link rel="up" href="index.html" title="Getting Started with Replicated Berkeley DB Applications" />
<link rel="prev" href="exampledoloop.html" title="Example Processing Loop" />
<link rel="next" href="manageblock.html" title="Managing Blocking Operations" />
</head>
<body>
<div xmlns="" class="navheader">
<div class="libver">
<p>Library Version 11.2.5.3</p>
</div>
<table width="100%" summary="Navigation header">
<tr>
<th colspan="3" align="center">Chapter 5. Additional Features</th>
</tr>
<tr>
<td width="20%" align="left"><a accesskey="p" href="exampledoloop.html">Prev</a> </td>
<th width="60%" align="center"> </th>
<td width="20%" align="right"> <a accesskey="n" href="manageblock.html">Next</a></td>
</tr>
</table>
<hr />
</div>
<div class="chapter" lang="en" xml:lang="en">
<div class="titlepage">
<div>
<div>
<h2 class="title"><a id="addfeatures"></a>Chapter 5. Additional Features</h2>
</div>
</div>
</div>
<div class="toc">
<p>
<b>Table of Contents</b>
</p>
<dl>
<dt>
<span class="sect1">
<a href="addfeatures.html#delayedsync">Delayed Synchronization</a>
</span>
</dt>
<dt>
<span class="sect1">
<a href="manageblock.html">Managing Blocking Operations</a>
</span>
</dt>
<dt>
<span class="sect1">
<a href="autoinit.html">Stop Auto-Initialization</a>
</span>
</dt>
<dt>
<span class="sect1">
<a href="rywc.html">Read-Your-Writes Consistency</a>
</span>
</dt>
<dt>
<span class="sect1">
<a href="c2ctransfer.html">Client to Client Transfer</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="sect2">
<a href="c2ctransfer.html#fmwrkpeerserver">Identifying Peers</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="sect1">
<a href="bulk.html">Bulk Transfers</a>
</span>
</dt>
</dl>
</div>
<p>
Beyond the basic functionality that we have discussed so far in
this book, there are several replication features that you
should understand. These are all optional to use, but provide
useful functionality under the right circumstances.
</p>
<p>
These additional features are:
</p>
<div class="orderedlist">
<ol type="1">
<li>
<p>
<a class="xref" href="addfeatures.html#delayedsync" title="Delayed Synchronization">Delayed Synchronization</a>
</p>
</li>
<li>
<p>
<a class="xref" href="manageblock.html" title="Managing Blocking Operations">Managing Blocking Operations</a>
</p>
</li>
<li>
<p>
<a class="xref" href="autoinit.html" title="Stop Auto-Initialization">Stop Auto-Initialization</a>
</p>
</li>
<li>
<p>
<a class="xref" href="c2ctransfer.html" title="Client to Client Transfer">Client to Client Transfer</a>
</p>
</li>
<li>
<p>
<a class="xref" href="bulk.html" title="Bulk Transfers">Bulk Transfers</a>
</p>
</li>
</ol>
</div>
<div class="sect1" lang="en" xml:lang="en">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both"><a id="delayedsync"></a>Delayed Synchronization</h2>
</div>
</div>
</div>
<p>
When a replication group has a new master, all replicas must
synchronize with that master. This means they must ensure
that the contents of their local database(s) are identical
to that contained by the new master.
</p>
<p>
This synchronization process can result in quite a lot of
network activity. It can also put a large strain on the
master server, especially if is part of a large
replication group or if there is somehow a large difference between
the master's database(s) and the contents of its replicas.
</p>
<p>
It is therefore possible to delay synchronization for any
replica that discovers it has a new master. You would do
this so as to give the master time to synchronize other
replicas before proceeding with the delayed replicas.
</p>
<p>
To delay synchronization of a replica environment, you
specify
<span>
<code class="literal">ReplicationConfig.DELAYCLIENT</code> and
<code class="literal">true</code> to
<code class="methodname">Environment.setReplicationConfig()</code>.
To turn off delayed synchronization, specify
<code class="literal">false</code> for the
<code class="literal">ReplicationConfig.DELAYCLIENT</code> field.
</span>
</p>
<p>
If you use delayed synchronization, then you must manually
synchronize the replica at some future time. Until you do this, the replica is out of
sync with the master, and it will ignore all database changes forwarded to it from
the master.
</p>
<p>
You synchronize a delayed replica by calling
<code class="methodname">Environment.syncReplication()</code>
on the replica that has been delayed.
</p>
</div>
</div>
<div class="navfooter">
<hr />
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left"><a accesskey="p" href="exampledoloop.html">Prev</a> </td>
<td width="20%" align="center"> </td>
<td width="40%" align="right"> <a accesskey="n" href="manageblock.html">Next</a></td>
</tr>
<tr>
<td width="40%" align="left" valign="top">Example Processing Loop </td>
<td width="20%" align="center">
<a accesskey="h" href="index.html">Home</a>
</td>
<td width="40%" align="right" valign="top"> Managing Blocking Operations</td>
</tr>
</table>
</div>
</body>
</html>
|