[
https://issues.apache.org/jira/browse/HBASE-4528?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13123403#comment-13123403
]
[email protected] 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