hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "jiraposter@reviews.apache.org (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-4528) The put operation can release the rowlock before sync-ing the Hlog
Date Sat, 08 Oct 2011 07:51:30 GMT

    [ https://issues.apache.org/jira/browse/HBASE-4528?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13123403#comment-13123403
] 

jiraposter@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

        

Mime
View raw message