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