diff options
author | Bernard Normier <bernard@zeroc.com> | 2003-10-15 15:41:47 +0000 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2003-10-15 15:41:47 +0000 |
commit | a05ea9586e27488f361ac0aaaba3573b9746ac96 (patch) | |
tree | f71b280b803d374e41091fddb15d41f3e5997691 /java/src/Freeze/Index.java | |
parent | change assert to throw MarshalException (diff) | |
download | ice-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.java | 11 |
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); } |