libdb/docs/upgrading/upgrade_4_6_event.html
2012-11-14 16:35:20 -05:00

89 lines
5.7 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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>Replication Events</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="Berkeley DB Upgrade Guide" />
<link rel="up" href="upgrade_4_6_toc.html" title="Chapter 4. Upgrading Berkeley DB 4.5 applications to Berkeley DB 4.6" />
<link rel="prev" href="upgrade_4_6_memp_fset.html" title="B_MPOOLFILE-&gt;set" />
<link rel="next" href="upgrade_4_6_full_election.html" title="DB_REP_FULL_ELECTION" />
</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">Replication Events</th>
</tr>
<tr>
<td width="20%" align="left"><a accesskey="p" href="upgrade_4_6_memp_fset.html">Prev</a> </td>
<th width="60%" align="center">Chapter 4. Upgrading Berkeley DB 4.5 applications to Berkeley DB 4.6</th>
<td width="20%" align="right"> <a accesskey="n" href="upgrade_4_6_full_election.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="upgrade_4_6_event"></a>Replication Events</h2>
</div>
</div>
</div>
<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
presented to the application after the corresponding
<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
thread-scheduling anomalies. (In previous releases, if the thread
processing the NEWMASTER message was starved, and STARTUPDONE occurred
soon after, the order might have been reversed.)</p>
<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
to all types of replication applications: users of either the
Replication Framework or the Base Replication API. In both cases, the
<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
the local environment has become master.</p>
<p>The <span class="bold"><strong>envid</strong></span> parameter to <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a> has been changed to
be of type "int" rather than "int *", and the environment ID of a new
master is presented to the application along with the
<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
be 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
the ID of the new master.</p>
<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-&gt;rep_elect()</a>
method and a new event type has been added. The
<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
the site which wins an election. In the Berkeley DB 4.6 release, the normal
result of a successful election is either the
<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),
or 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
will ever be delivered.</p>
<p>The DB_REP_NEWMASTER return code has been removed from the
<a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a> method. Replication applications should be 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> and <a href="../api_reference/C/envevent_notify.html#event_notify_DB_EVENT_REP_ELECTED" class="olink">DB_EVENT_REP_ELECTED</a>
events to determine the existence of a new master.</p>
</div>
<div class="navfooter">
<hr />
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left"><a accesskey="p" href="upgrade_4_6_memp_fset.html">Prev</a> </td>
<td width="20%" align="center">
<a accesskey="u" href="upgrade_4_6_toc.html">Up</a>
</td>
<td width="40%" align="right"> <a accesskey="n" href="upgrade_4_6_full_election.html">Next</a></td>
</tr>
<tr>
<td width="40%" align="left" valign="top">B_MPOOLFILE-&gt;set </td>
<td width="20%" align="center">
<a accesskey="h" href="index.html">Home</a>
</td>
<td width="40%" align="right" valign="top"> DB_REP_FULL_ELECTION</td>
</tr>
</table>
</div>
</body>
</html>