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. |
From: <tho...@us...> - 2010-11-04 20:26:55
|
Revision: 3897 http://bigdata.svn.sourceforge.net/bigdata/?rev=3897&view=rev Author: thompsonbry Date: 2010-11-04 20:26:49 +0000 (Thu, 04 Nov 2010) Log Message: ----------- Tentatively commenting out a synchronized block in AbstractBTree#touch() which shows up as a hot spot when loading triples with the RWStore. The synchronized block was added because of an exception arising out of the RingBuffer, but I think that the problem was fixed in the ring buffer so let's see if this breaks anything in the test suite. 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-11-04 19:51:05 UTC (rev 3896) +++ branches/JOURNAL_HA_BRANCH/bigdata/src/java/com/bigdata/btree/AbstractBTree.java 2010-11-04 20:26:49 UTC (rev 3897) @@ -3393,11 +3393,11 @@ * block if the fence post was fixed. */ - synchronized (this) { +// synchronized (this) { doTouch(node); - } +// } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tho...@us...> - 2010-11-04 23:20:40
|
Revision: 3899 http://bigdata.svn.sourceforge.net/bigdata/?rev=3899&view=rev Author: thompsonbry Date: 2010-11-04 23:20:34 +0000 (Thu, 04 Nov 2010) Log Message: ----------- Putting the synchronized block back into AbstractBTree.touch() as it causes problems with the nested subquery join. See https://sourceforge.net/apps/trac/bigdata/ticket/201 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-11-04 20:59:28 UTC (rev 3898) +++ branches/JOURNAL_HA_BRANCH/bigdata/src/java/com/bigdata/btree/AbstractBTree.java 2010-11-04 23:20:34 UTC (rev 3899) @@ -3391,13 +3391,15 @@ * @todo Actually, I think that this is just a fence post in ringbuffer * beforeOffer() method and the code might work without the synchronized * block if the fence post was fixed. + * + * @see https://sourceforge.net/apps/trac/bigdata/ticket/201 */ -// synchronized (this) { + synchronized (this) { doTouch(node); -// } + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |