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 Mon, 03 Oct 2011 05:55:35 GMT

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

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-03 05:54:07.197305)


Review request for hbase.


Changes
-------

Incorporated most of Ted's comments and all of Lar's comments.

I did not change the order of advancing the rwcc first before releasing the rowlock in the
finally-clause because this will occur only in some error case, and in that case it might
be better to do things in the normal order. Technically, either way should be fine, but if
I am missing something please let me know and I can change it too.

In TestParallelPut, I did not fold the two loops of thread-creation and thread-start. The
reason being that I would like more concurrency among the threads, and if I create and start
in the same loop then it is likely that by the a thread starts running, the earlier ones would
probably be finished or advanced significantly, thus reducing the time when all threads are
running concurrently.


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 1178298 
  /src/test/java/org/apache/hadoop/hbase/regionserver/TestParallelPut.java PRE-CREATION 

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