summaryrefslogtreecommitdiff
path: root/java/src/Freeze/Index.java
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2003-10-15 15:41:47 +0000
committerBernard Normier <bernard@zeroc.com>2003-10-15 15:41:47 +0000
commita05ea9586e27488f361ac0aaaba3573b9746ac96 (patch)
treef71b280b803d374e41091fddb15d41f3e5997691 /java/src/Freeze/Index.java
parentchange assert to throw MarshalException (diff)
downloadice-a05ea9586e27488f361ac0aaaba3573b9746ac96.tar.bz2
ice-a05ea9586e27488f361ac0aaaba3573b9746ac96.tar.xz
ice-a05ea9586e27488f361ac0aaaba3573b9746ac96.zip
Tolerates orphan facets
Diffstat (limited to 'java/src/Freeze/Index.java')
-rw-r--r--java/src/Freeze/Index.java11
1 files changed, 9 insertions, 2 deletions
diff --git a/java/src/Freeze/Index.java b/java/src/Freeze/Index.java
index c24284c2006..63befb42b42 100644
--- a/java/src/Freeze/Index.java
+++ b/java/src/Freeze/Index.java
@@ -94,8 +94,15 @@ public abstract class Index implements com.sleepycat.db.DbSecondaryKeyCreate
while((firstN <= 0 || identities.size() < firstN) && more)
{
EvictorStorageKey esk = EvictorI.unmarshalKey(pkey.get_data(), communicator);
- assert(esk.facet.length == 0);
- identities.add(esk.identity);
+
+ if(esk.facet.length == 0)
+ {
+ identities.add(esk.identity);
+ }
+ //
+ // Else skip "orphan" facet (could be just a temporary inconsistency
+ // on disk)
+ //
more = (dbc.pget(key, pkey, value, com.sleepycat.db.Db.DB_NEXT_DUP) == 0);
}