[ https://issues.apache.org/jira/browse/HBASE-4528?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13121789#comment-13121789 ]
jirapos...@reviews.apache.org commented on HBASE-4528: ------------------------------------------------------ ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/2141/ ----------------------------------------------------------- (Updated 2011-10-06 08:08:49.288861) Review request for hbase. Changes ------- 1. The flush of memstore waits for current transactions to quiesce before committing the flushed files. This should address the problem pointed out by Kannan. 2. The Hlog.syncer() does not throw an exception, instead causes the regionserver to exit if it is unable to sync to hdfs. The assumption here is that if hbase is unable to write/sync to hdfs, then the simplest and correct error recovery is to exit. (For example, if the memstore flush fails, the regionserver exits) Summary ------- The changes the multiPut operation so that the sync to the wal occurs outside the rowlock. This enhancement is done only to HRegion.mut(Put[]) because this is the only method that gets invoked from an application. The HRegion.put(Put) is used only by unit tests and should possibly be deprecated. I have attached a unit test. I have not yet run all unit tests, but early feedback on this patch will be very helpful. This addresses bug HBASE-4528. https://issues.apache.org/jira/browse/HBASE-4528 Diffs (updated) ----- /src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 1179529 /src/main/java/org/apache/hadoop/hbase/regionserver/ReadWriteConsistencyControl.java 1179529 /src/main/java/org/apache/hadoop/hbase/regionserver/Store.java 1179529 /src/main/java/org/apache/hadoop/hbase/regionserver/StoreFlusher.java 1179529 /src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java 1179529 /src/test/java/org/apache/hadoop/hbase/regionserver/TestParallelPut.java PRE-CREATION /src/test/java/org/apache/hadoop/hbase/regionserver/TestStore.java 1179529 Diff: https://reviews.apache.org/r/2141/diff Testing ------- Not yet run the full suite of unit tests. Thanks, Dhruba > The put operation can release the rowlock before sync-ing the Hlog > ------------------------------------------------------------------ > > Key: HBASE-4528 > URL: https://issues.apache.org/jira/browse/HBASE-4528 > Project: HBase > Issue Type: Improvement > Components: regionserver > Reporter: dhruba borthakur > Assignee: dhruba borthakur > Attachments: appendNoSyncPut1.txt, appendNoSyncPut2.txt, > appendNoSyncPut3.txt > > > This allows for better throughput when there are hot rows. A single row > update improves from 100 puts/sec/server to 5000 puts/sec/server. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira