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

300 lines
12 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>SecondaryIntegrityException (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="SecondaryIntegrityException (Oracle - Berkeley DB Java Edition API)";
}
}
catch(err) {
}
//-->
</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/SecondaryIntegrityException.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/SecondaryDatabase.html" title="class in com.sleepycat.je"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../com/sleepycat/je/SecondaryKeyCreator.html" title="interface in com.sleepycat.je"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?com/sleepycat/je/SecondaryIntegrityException.html" target="_top">Frames</a></li>
<li><a href="SecondaryIntegrityException.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="#methods.inherited.from.class.com.sleepycat.je.SecondaryReferenceException">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li>Method</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</div>
<h2 title="Class SecondaryIntegrityException" class="title">Class SecondaryIntegrityException</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/OperationFailureException.html" title="class in com.sleepycat.je">com.sleepycat.je.OperationFailureException</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../com/sleepycat/je/SecondaryReferenceException.html" title="class in com.sleepycat.je">com.sleepycat.je.SecondaryReferenceException</a></li>
<li>
<ul class="inheritance">
<li>com.sleepycat.je.SecondaryIntegrityException</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">SecondaryIntegrityException</span>
extends <a href="../../../com/sleepycat/je/SecondaryReferenceException.html" title="class in com.sleepycat.je">SecondaryReferenceException</a></pre>
<div class="block">Thrown when an integrity problem is detected while accessing a secondary
database, including access to secondaries while writing to a primary
database. Secondary integrity problems are normally caused by the use of
secondaries without transactions.
<p>The <a href="../../../com/sleepycat/je/Transaction.html" title="class in com.sleepycat.je"><code>Transaction</code></a> handle is invalidated as a result of this
exception. In addition, the corrupt index (secondary database) is marked
as corrupt in memory. All subsequent access to the index will throw
<code>SecondaryIntegrityException</code>. To correct the problem, the
application may perform a full restore (an HA <a href="../../../com/sleepycat/je/rep/NetworkRestore.html" title="class in com.sleepycat.je.rep"><code>NetworkRestore</code></a> or restore from backup) or rebuild
the corrupt index.</p>
<p>Some possible causes of a secondary integrity exception are listed
below. Note that only the first item -- the use of a non-transactional
store -- is applicable when using the <a href="../../../com/sleepycat/persist/package-summary.html"><code>DPL</code></a>.
All other items below do not apply to the use of the DPL, because the DPL
ensures that secondary databases are configured and managed correctly.</p>
<ol>
<li>The use of non-transactional databases or stores can cause secondary
corruption as described in <a
href="SecondaryDatabase.html#transactions">Special considerations for using
Secondary Databases with and without Transactions</a>. Secondary databases
and indexes should always be used in conjunction with transactional
databases and stores.</li>
<li>Secondary corruption can be caused by an incorrectly implemented
secondary key creator method, for example, one which uses mutable state
information or is not properly synchronized. When the DPL is not used, the
application is responsible for correctly implementing the key creator.</li>
<li>Secondary corruption can be caused by failing to open a secondary
database before writing to the primary database, by writing to a secondary
database directly using a <a href="../../../com/sleepycat/je/Database.html" title="class in com.sleepycat.je"><code>Database</code></a> handle, or by truncating or
removing primary database without also truncating or removing all secondary
databases. When the DPL is not used, the application is responsible for
managing associated databases correctly.</p>
</ol></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>4.0</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../serialized-form.html#com.sleepycat.je.SecondaryIntegrityException">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>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.com.sleepycat.je.SecondaryReferenceException">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;com.sleepycat.je.<a href="../../../com/sleepycat/je/SecondaryReferenceException.html" title="class in com.sleepycat.je">SecondaryReferenceException</a></h3>
<code><a href="../../../com/sleepycat/je/SecondaryReferenceException.html#getExpirationTime--">getExpirationTime</a>, <a href="../../../com/sleepycat/je/SecondaryReferenceException.html#getPrimaryKey--">getPrimaryKey</a>, <a href="../../../com/sleepycat/je/SecondaryReferenceException.html#getSecondaryDatabaseName--">getSecondaryDatabaseName</a>, <a href="../../../com/sleepycat/je/SecondaryReferenceException.html#getSecondaryKey--">getSecondaryKey</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.com.sleepycat.je.DatabaseException">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;com.sleepycat.je.<a href="../../../com/sleepycat/je/DatabaseException.html" title="class in com.sleepycat.je">DatabaseException</a></h3>
<code><a href="../../../com/sleepycat/je/DatabaseException.html#getMessage--">getMessage</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>
<!-- ========= 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/SecondaryIntegrityException.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/SecondaryDatabase.html" title="class in com.sleepycat.je"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../com/sleepycat/je/SecondaryKeyCreator.html" title="interface in com.sleepycat.je"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?com/sleepycat/je/SecondaryIntegrityException.html" target="_top">Frames</a></li>
<li><a href="SecondaryIntegrityException.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="#methods.inherited.from.class.com.sleepycat.je.SecondaryReferenceException">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li>Method</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>