|
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.
|