[ https://issues.apache.org/jira/browse/HBASE-4528?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13123403#comment-13123403 ]
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-08 07:50:25.069515) Review request for hbase. Changes ------- The HLog.sync() does not throw an exception if it encounters a HDFS error. Instead it triggers a logroll as usual. If the put code encounter an error while syncing to hdfs, then it rollbacks the change to the memstore and throws an exception to the client. 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 1180314 /src/main/java/org/apache/hadoop/hbase/regionserver/MemStore.java 1180314 /src/main/java/org/apache/hadoop/hbase/regionserver/ReadWriteConsistencyControl.java 1180314 /src/main/java/org/apache/hadoop/hbase/regionserver/Store.java 1180314 /src/main/java/org/apache/hadoop/hbase/regionserver/StoreFlusher.java 1180314 /src/test/java/org/apache/hadoop/hbase/regionserver/TestParallelPut.java PRE-CREATION /src/test/java/org/apache/hadoop/hbase/regionserver/TestStore.java 1180314 /src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRolling.java 1180314 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, appendNoSyncPut4.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