stasis/je-7.5.11/docs/java/com/sleepycat/je/rep/RollbackException.html
2019-06-25 16:12:40 -04:00

358 lines
15 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_151) on Tue Oct 31 17:36:46 EDT 2017 -->
<title>RollbackException (Oracle - Berkeley DB Java Edition API)</title>
<meta name="date" content="2017-10-31">
<link rel="stylesheet" type="text/css" href="../../../../style.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="RollbackException (Oracle - Berkeley DB Java Edition API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/RollbackException.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><b>Berkeley DB Java Edition</b><br><font size=\"-1\"> version 7.5.11</font>
</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../com/sleepycat/je/rep/RestartRequiredException.html" title="class in com.sleepycat.je.rep"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../com/sleepycat/je/rep/RollbackProhibitedException.html" title="class in com.sleepycat.je.rep"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/sleepycat/je/rep/RollbackException.html" target="_top">Frames</a></li>
<li><a href="RollbackException.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">com.sleepycat.je.rep</div>
<h2 title="Class RollbackException" class="title">Class RollbackException</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>java.lang.Throwable</li>
<li>
<ul class="inheritance">
<li>java.lang.Exception</li>
<li>
<ul class="inheritance">
<li>java.lang.RuntimeException</li>
<li>
<ul class="inheritance">
<li><a href="../../../../com/sleepycat/je/DatabaseException.html" title="class in com.sleepycat.je">com.sleepycat.je.DatabaseException</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../com/sleepycat/je/RunRecoveryException.html" title="class in com.sleepycat.je">com.sleepycat.je.RunRecoveryException</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../com/sleepycat/je/EnvironmentFailureException.html" title="class in com.sleepycat.je">com.sleepycat.je.EnvironmentFailureException</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../com/sleepycat/je/rep/RestartRequiredException.html" title="class in com.sleepycat.je.rep">com.sleepycat.je.rep.RestartRequiredException</a></li>
<li>
<ul class="inheritance">
<li>com.sleepycat.je.rep.RollbackException</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>java.io.Serializable</dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">RollbackException</span>
extends <a href="../../../../com/sleepycat/je/rep/RestartRequiredException.html" title="class in com.sleepycat.je.rep">RestartRequiredException</a></pre>
<div class="block">This asynchronous exception indicates that a new master has been selected,
this <code>Replica</code>'s log is ahead of the current <code>Master</code>,
and in this case, the <code>Replica</code> was unable to rollback without a
recovery. As a consequence, it is possible that one or more of the most
recently committed transactions may need to be rolled back, before the
<code>Replica</code> can synchronize its state with that of the current
<code>Master</code>. Note that any CommitTokens obtained before restarting
this <code>Replica</code> shouldn't be used after <a href="../../../../com/sleepycat/je/rep/RollbackException.html" title="class in com.sleepycat.je.rep"><code>RollbackException</code></a>
is thrown because the token may no longer exist on the current
<code>Master</code> node, due to failover processing.
<p>
Existing <a href="../../../../com/sleepycat/je/rep/ReplicatedEnvironment.html" title="class in com.sleepycat.je.rep"><code>ReplicatedEnvironment</code></a>, and consequently <a href="../../../../com/sleepycat/je/Database.html" title="class in com.sleepycat.je"><code>Database</code></a>
handles, are invalidated as a result of this exception. The application must
close all old handles and create new handles before it can proceed. The
actual rollback of any recently committed transactions is done when the
application re-instantiates and thereby reopens the <a href="../../../../com/sleepycat/je/rep/ReplicatedEnvironment.html" title="class in com.sleepycat.je.rep"><code>ReplicatedEnvironment</code></a>. The application is responsible for discarding and
recreating any transient state that may be associated with the committed
transactions that were rolled back. <a href="../../../../com/sleepycat/je/rep/RollbackException.html#getEarliestTransactionId--"><code>getEarliestTransactionId()</code></a> and
<a href="../../../../com/sleepycat/je/rep/RollbackException.html#getEarliestTransactionCommitTime--"><code>getEarliestTransactionCommitTime()</code></a> provide information to help
determine which transactions might be rolled back. Note that it is possible
that no committed transactions have been rolled back and that the
application need do no adjustments, in which case
<a href="../../../../com/sleepycat/je/rep/RollbackException.html#getEarliestTransactionCommitTime--"><code>getEarliestTransactionCommitTime()</code></a> will return null.
<p>
This exception should be encountered relatively infrequently in practice,
since the election mechanism favors nodes with the most advanced log when
deciding upon a master. The exception, due to its nature, can only be
encountered when the node is in the <code>Replica</code> state, or the node
is trying to transition to the <code>Replica</code> state.
<p>
Use of weak durability requirements like
<a href="../../../../com/sleepycat/je/Durability.ReplicaAckPolicy.html#NONE"><code>Durability.ReplicaAckPolicy.NONE</code></a> or a
<a href="../../../../com/sleepycat/je/rep/ReplicationMutableConfig.html#NODE_PRIORITY"><code>ReplicationMutableConfig.NODE_PRIORITY</code></a> of zero
increases the likelihood of this exception.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../com/sleepycat/je/rep/RollbackProhibitedException.html" title="class in com.sleepycat.je.rep"><code>RollbackProhibitedException</code></a>,
<a href="../../../../serialized-form.html#com.sleepycat.je.rep.RollbackException">Serialized Form</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>java.lang.Long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/je/rep/RollbackException.html#getEarliestTransactionCommitTime--">getEarliestTransactionCommitTime</a></span>()</code>
<div class="block">Return the time in milliseconds of the earliest transaction commit that
has been rolled back.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/je/rep/RollbackException.html#getEarliestTransactionId--">getEarliestTransactionId</a></span>()</code>
<div class="block">Return the id of the earliest transaction commit that has been
rolled back.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.com.sleepycat.je.EnvironmentFailureException">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;com.sleepycat.je.<a href="../../../../com/sleepycat/je/EnvironmentFailureException.html" title="class in com.sleepycat.je">EnvironmentFailureException</a></h3>
<code><a href="../../../../com/sleepycat/je/EnvironmentFailureException.html#getMessage--">getMessage</a>, <a href="../../../../com/sleepycat/je/EnvironmentFailureException.html#isCorrupted--">isCorrupted</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Throwable">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Throwable</h3>
<code>addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getEarliestTransactionCommitTime--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEarliestTransactionCommitTime</h4>
<pre>public&nbsp;java.lang.Long&nbsp;getEarliestTransactionCommitTime()</pre>
<div class="block">Return the time in milliseconds of the earliest transaction commit that
has been rolled back. May return null if no commits have been rolled
back.</div>
</li>
</ul>
<a name="getEarliestTransactionId--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getEarliestTransactionId</h4>
<pre>public&nbsp;long&nbsp;getEarliestTransactionId()</pre>
<div class="block">Return the id of the earliest transaction commit that has been
rolled back. 0 is returned if no commits have been rolled back.</div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/RollbackException.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><b>Berkeley DB Java Edition</b><br><font size=\"-1\"> version 7.5.11</font>
</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../com/sleepycat/je/rep/RestartRequiredException.html" title="class in com.sleepycat.je.rep"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../com/sleepycat/je/rep/RollbackProhibitedException.html" title="class in com.sleepycat.je.rep"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/sleepycat/je/rep/RollbackException.html" target="_top">Frames</a></li>
<li><a href="RollbackException.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><font size=1>Copyright (c) 2002, 2017 Oracle and/or its affiliates. All rights reserved.</font> </small></p>
</body>
</html>