File: electiontimes.html

package info (click to toggle)
db5.3 5.3.28%2Bdfsg1-0.5
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 158,360 kB
  • sloc: ansic: 448,411; java: 111,824; tcl: 80,544; sh: 44,326; cs: 33,697; cpp: 21,604; perl: 14,557; xml: 10,799; makefile: 4,077; yacc: 1,003; awk: 965; sql: 801; erlang: 342; python: 216; php: 24; asm: 14
file content (164 lines) | stat: -rw-r--r-- 7,502 bytes parent folder | download | duplicates (8)
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
<?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>Managing Election Times</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="repapp.html" title="Chapter 3. The DB Replication Manager" />
    <link rel="prev" href="fwrkpermmessage.html" title="Permanent Message Handling" />
    <link rel="next" href="fmwrkconnectretry.html" title="Managing Connection Retries" />
  </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">Managing Election Times</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="fwrkpermmessage.html">Prev</a> </td>
          <th width="60%" align="center">Chapter 3. The DB Replication Manager</th>
          <td width="20%" align="right"> <a accesskey="n" href="fmwrkconnectretry.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="electiontimes"></a>Managing Election Times</h2>
          </div>
        </div>
      </div>
      <div class="toc">
        <dl>
          <dt>
            <span class="sect2">
              <a href="electiontimes.html#electiontimeout">Managing Election Timeouts</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="electiontimes.html#electretrytime">Managing Election Retry Times</a>
            </span>
          </dt>
        </dl>
      </div>
      <p>
                    Where it comes to elections, there are two timeout
                    values with which you should be concerned: election
                    timeouts and election retries.
            </p>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="electiontimeout"></a>Managing Election Timeouts</h3>
            </div>
          </div>
        </div>
        <p>
                        When an environment calls for an election, it will wait
                        some amount of time for the other replicas in the
                        replication group to respond. The amount of time
                        that the environment will wait before declaring the
                        election completed is the <span class="emphasis"><em>election timeout</em></span>. 
                    </p>
        <p>
                            If the environment hears from all other known replicas before 
                            the election timeout occurs, the election is considered 
                            a success and a master is elected.
                    </p>
        <p>
                            If only a subset of replicas respond, then the success
                            or failure of the election is determined by
                            how many replicas have participated in the
                            election. It only takes a simple
                            majority of replicas to elect a master. If
                            there are enough votes for a given environment to
                            meet that standard, then the master has been
                            elected and the election is considered a
                            success.
                    </p>
        <p>
                            However, if not enough replicas have participated in
                            the election when the election timeout value is 
                            reached, the election is considered a failure
                            and a master is not elected. At this point,
                            your replication group is operating without a
                            master, which means that, essentially,
                            your replicated application has been placed in
                            read-only mode.
                    </p>
        <p>
                            Note, however, that the Replication Manager will attempt a
                            new election after a given amount of time has
                            passed. See the next section for details.
                    </p>
        <p>
                        You set the election timeout value using
                        <code class="methodname">Environment.setReplicationTimeout()</code>.
                        You pass this method the 
                        <code class="methodname">ReplicationTimeoutType.ELECTION_TIMEOUT</code>
                        constant and a timeout value in microseconds.
                    </p>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="electretrytime"></a>Managing Election Retry Times</h3>
            </div>
          </div>
        </div>
        <p>
                            In the event that a election fails (see the
                            previous section), an election will not be
                            attempted again until the election retry
                            timeout value has expired. 
                    </p>
        <p>
                        You set the election timeout value using
                        <code class="methodname">Environment.setReplicationTimeout()</code>.
                        You pass this method the 
                        <code class="methodname">ReplicationTimeoutType.ELECTION_RETRY</code>
                        constant and a retry value in microseconds.
                    </p>
        <p>
                        Note that this 
                        <span>constant</span> is only
                        valid when you are using the Replication Manager. If you are
                        using the Base APIs, then this
                        
                        <span>constant</span> is
                        ignored.
                    </p>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="fwrkpermmessage.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="repapp.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="fmwrkconnectretry.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">Permanent Message Handling </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> Managing Connection Retries</td>
        </tr>
      </table>
    </div>
  </body>
</html>