From: <mar...@us...> - 2010-12-14 16:50:27
|
Revision: 4006 http://bigdata.svn.sourceforge.net/bigdata/?rev=4006&view=rev Author: martyncutcher Date: 2010-12-14 16:50:21 +0000 (Tue, 14 Dec 2010) Log Message: ----------- add reset to BufferredWrite Modified Paths: -------------- branches/JOURNAL_HA_BRANCH/bigdata/src/java/com/bigdata/io/writecache/BufferedWrite.java branches/JOURNAL_HA_BRANCH/bigdata/src/java/com/bigdata/io/writecache/WriteCache.java Modified: branches/JOURNAL_HA_BRANCH/bigdata/src/java/com/bigdata/io/writecache/BufferedWrite.java =================================================================== --- branches/JOURNAL_HA_BRANCH/bigdata/src/java/com/bigdata/io/writecache/BufferedWrite.java 2010-12-12 22:22:27 UTC (rev 4005) +++ branches/JOURNAL_HA_BRANCH/bigdata/src/java/com/bigdata/io/writecache/BufferedWrite.java 2010-12-14 16:50:21 UTC (rev 4006) @@ -93,12 +93,8 @@ final int nwrites = FileChannelUtility.writeAll(opener, m_data, m_startAddr); m_fileWrites++; - m_data.position(0); - m_data.limit(m_data.capacity()); + reset(); - m_startAddr = -1; - m_endAddr = 0; - return nwrites; } @@ -115,4 +111,15 @@ return ret; } + + /** + * Caled by flush and also prior to use by the WriteCache. + */ + public void reset() { + m_data.position(0); + m_data.limit(m_data.capacity()); + + m_startAddr = -1; + m_endAddr = 0; + } } Modified: branches/JOURNAL_HA_BRANCH/bigdata/src/java/com/bigdata/io/writecache/WriteCache.java =================================================================== --- branches/JOURNAL_HA_BRANCH/bigdata/src/java/com/bigdata/io/writecache/WriteCache.java 2010-12-12 22:22:27 UTC (rev 4005) +++ branches/JOURNAL_HA_BRANCH/bigdata/src/java/com/bigdata/io/writecache/WriteCache.java 2010-12-14 16:50:21 UTC (rev 4006) @@ -1641,8 +1641,14 @@ /* * Retrieve the sorted write iterator and write each block to the - * file + * file. + * + * If there is a BufferedWrite then ensure it is reset. */ + if (m_bufferedWrite == null) { + m_bufferedWrite.reset(); + } + int nwrites = 0; final Iterator<Entry<Long, RecordMetadata>> entries = recordMap.entrySet().iterator(); while (entries.hasNext()) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |