From: <mar...@us...> - 2010-08-02 09:40:32
|
Revision: 3385 http://bigdata.svn.sourceforge.net/bigdata/?rev=3385&view=rev Author: martyncutcher Date: 2010-08-02 09:40:26 +0000 (Mon, 02 Aug 2010) Log Message: ----------- ensure deleted address is removed from cache Modified Paths: -------------- branches/JOURNAL_HA_BRANCH/bigdata/src/java/com/bigdata/btree/AbstractBTree.java Modified: branches/JOURNAL_HA_BRANCH/bigdata/src/java/com/bigdata/btree/AbstractBTree.java =================================================================== --- branches/JOURNAL_HA_BRANCH/bigdata/src/java/com/bigdata/btree/AbstractBTree.java 2010-08-02 09:33:17 UTC (rev 3384) +++ branches/JOURNAL_HA_BRANCH/bigdata/src/java/com/bigdata/btree/AbstractBTree.java 2010-08-02 09:40:26 UTC (rev 3385) @@ -3695,6 +3695,7 @@ // write the serialized node or leaf onto the store. final long addr; + final long oldAddr; { final long begin = System.nanoTime(); @@ -3704,7 +3705,9 @@ // now we have a new address, delete previous identity if any if (node.isPersistent()) { - store.delete(node.getIdentity()); + oldAddr = node.getIdentity(); + } else { + oldAddr = 0; } btreeCounters.writeNanos += System.nanoTime() - begin; @@ -3721,6 +3724,13 @@ */ node.setIdentity(addr); + if (oldAddr != 0L) { + if (storeCache!=null) { + // remove from cache. + storeCache.remove(oldAddr); + } + store.delete(oldAddr); + } node.setDirty(false); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |