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