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>Release 4.6: Replication Events</title> 7 <link rel="stylesheet" href="gettingStarted.css" type="text/css" /> 8 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /> 9 <link rel="start" href="index.html" title="Berkeley DB Programmer's Reference Guide" /> 10 <link rel="up" href="upgrade_4_6_toc.html" title="Chapter��43.��Upgrading Berkeley DB 4.5 applications to Berkeley DB 4.6" /> 11 <link rel="prev" href="upgrade_4_6_memp_fset.html" title="Release 4.6: DB_MPOOLFILE->set" /> 12 <link rel="next" href="upgrade_4_6_full_election.html" title="Release 4.6: DB_REP_FULL_ELECTION" /> 13 </head> 14 <body> 15 <div class="navheader"> 16 <table width="100%" summary="Navigation header"> 17 <tr> 18 <th colspan="3" align="center">Release 4.6: Replication Events</th> 19 </tr> 20 <tr> 21 <td width="20%" align="left"><a accesskey="p" href="upgrade_4_6_memp_fset.html">Prev</a>��</td> 22 <th width="60%" align="center">Chapter��43.��Upgrading Berkeley DB 4.5 applications to Berkeley DB 4.6</th> 23 <td width="20%" align="right">��<a accesskey="n" href="upgrade_4_6_full_election.html">Next</a></td> 24 </tr> 25 </table> 26 <hr /> 27 </div> 28 <div class="sect1" lang="en" xml:lang="en"> 29 <div class="titlepage"> 30 <div> 31 <div> 32 <h2 class="title" style="clear: both"><a id="upgrade_4_6_event"></a>Release 4.6: Replication Events</h2> 33 </div> 34 </div> 35 </div> 36 <p>It is now guaranteed the <a href="../api_reference/C/envevent_notify.html#event_notify_DB_EVENT_REP_STARTUPDONE" class="olink">DB_EVENT_REP_STARTUPDONE</a> event will be 37presented to the application after the corresponding 38<a href="../api_reference/C/envevent_notify.html#event_notify_DB_EVENT_REP_NEWMASTER" class="olink">DB_EVENT_REP_NEWMASTER</a> event, even in the face of extreme 39thread-scheduling anomalies. (In previous releases, if the thread 40processing the NEWMASTER message was starved, and STARTUPDONE occurred 41soon after, the order might have been reversed.)</p> 42 <p>In addition, the <a href="../api_reference/C/envevent_notify.html#event_notify_DB_EVENT_REP_NEWMASTER" class="olink">DB_EVENT_REP_NEWMASTER</a> event is now presented 43to all types of replication applications: users of either the 44Replication Framework or the Base Replication API. In both cases, the 45<a href="../api_reference/C/envevent_notify.html#event_notify_DB_EVENT_REP_NEWMASTER" class="olink">DB_EVENT_REP_NEWMASTER</a> event always means that a site other than 46the local environment has become master.</p> 47 <p>The <span class="bold"><strong>envid</strong></span> parameter to <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV->rep_process_message()</a> has been changed to 48be of type "int" rather than "int *", and the environment ID of a new 49master is presented to the application along with the 50<a href="../api_reference/C/envevent_notify.html#event_notify_DB_EVENT_REP_NEWMASTER" class="olink">DB_EVENT_REP_NEWMASTER</a> event. Replication applications should 51be modified to use the <a href="../api_reference/C/envevent_notify.html#event_notify_DB_EVENT_REP_NEWMASTER" class="olink">DB_EVENT_REP_NEWMASTER</a> event to determine 52the ID of the new master.</p> 53 <p>The <span class="bold"><strong>envid</strong></span> parameter has been removed from the <a href="../api_reference/C/repelect.html" class="olink">DB_ENV->rep_elect()</a> 54method and a new event type has been added. The 55<a href="../api_reference/C/envevent_notify.html#event_notify_DB_EVENT_REP_ELECTED" class="olink">DB_EVENT_REP_ELECTED</a> event is presented to the application at 56the site which wins an election. In the Berkeley DB 4.6 release, the normal 57result of a successful election is either the 58<a href="../api_reference/C/envevent_notify.html#event_notify_DB_EVENT_REP_NEWMASTER" class="olink">DB_EVENT_REP_NEWMASTER</a> event (with the winner's environment ID), 59or the <a href="../api_reference/C/envevent_notify.html#event_notify_DB_EVENT_REP_ELECTED" class="olink">DB_EVENT_REP_ELECTED</a> event. Only one of the two events 60will ever be delivered.</p> 61 <p>The DB_REP_NEWMASTER return code has been removed from the 62<a href="../api_reference/C/repmessage.html" class="olink">DB_ENV->rep_process_message()</a> method. Replication applications should be modified to 63use the <a href="../api_reference/C/envevent_notify.html#event_notify_DB_EVENT_REP_NEWMASTER" class="olink">DB_EVENT_REP_NEWMASTER</a> and <a href="../api_reference/C/envevent_notify.html#event_notify_DB_EVENT_REP_ELECTED" class="olink">DB_EVENT_REP_ELECTED</a> 64events to determine the existence of a new master.</p> 65 </div> 66 <div class="navfooter"> 67 <hr /> 68 <table width="100%" summary="Navigation footer"> 69 <tr> 70 <td width="40%" align="left"><a accesskey="p" href="upgrade_4_6_memp_fset.html">Prev</a>��</td> 71 <td width="20%" align="center"> 72 <a accesskey="u" href="upgrade_4_6_toc.html">Up</a> 73 </td> 74 <td width="40%" align="right">��<a accesskey="n" href="upgrade_4_6_full_election.html">Next</a></td> 75 </tr> 76 <tr> 77 <td width="40%" align="left" valign="top">Release 4.6: DB_MPOOLFILE->set��</td> 78 <td width="20%" align="center"> 79 <a accesskey="h" href="index.html">Home</a> 80 </td> 81 <td width="40%" align="right" valign="top">��Release 4.6: DB_REP_FULL_ELECTION</td> 82 </tr> 83 </table> 84 </div> 85 </body> 86</html> 87