Revision: 7613
http://bigdata.svn.sourceforge.net/bigdata/?rev=7613&view=rev
Author: martyncutcher
Date: 2013-12-09 08:13:26 +0000 (Mon, 09 Dec 2013)
Log Message:
-----------
Add javadoc for possible metaBits reservation in order to stress allocation methods.
Previously a method had been added to ensure reservation but because this had to be integrated with the commit protocol it felt like the wrong approach and was not committed once the original problem that prompted its development was solved.
Modified Paths:
--------------
branches/MGC_1_3_0/bigdata/src/java/com/bigdata/rwstore/RWStore.java
Modified: branches/MGC_1_3_0/bigdata/src/java/com/bigdata/rwstore/RWStore.java
===================================================================
--- branches/MGC_1_3_0/bigdata/src/java/com/bigdata/rwstore/RWStore.java 2013-12-09 00:54:11 UTC (rev 7612)
+++ branches/MGC_1_3_0/bigdata/src/java/com/bigdata/rwstore/RWStore.java 2013-12-09 08:13:26 UTC (rev 7613)
@@ -6209,6 +6209,15 @@
* <p>
* Note: Reads on the {@link RWStore} MUST block during this method since
* some allocators may be replaced as part of the post-commit protocol.
+ * <p>
+ * Ticket #778 was for a problem when a follower takes over as leader and
+ * was not correctly synchronised. This was traced, eventually, to a problem
+ * in calculating the diskAddr metabit for the modified Allocator. The problem
+ * was demonstrated by a temporary method to reserve metaAllocations by extending and
+ * setting the m_transient bits. But that has to be done within the commit() method
+ * before it attempts to save all the dirty allocators. If we need to contrive a similar
+ * scenario in the future a better approach would be a special debug property on the
+ * RWStore that indicates a "TRANSIENT_RESERVE" or something similar.
*
* @param rbv
* The new {@link IRootBlockView}.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|