[ 
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

        

Reply via email to