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 Thu, 06 Oct 2011 04:34:30 GMT

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

jiraposter@reviews.apache.org commented on HBASE-4528:
------------------------------------------------------


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2141/#review2383
-----------------------------------------------------------


Along the lines of the concern Gary raises, because of insert into memstore happening before
"sync" succeeding, I think another scenario can cause problems too:

1) say, memstore insert happens to CF1 & CF2.
2) then, memstore for CF1 gets flushed 
3) region server crashes before the sync is successful *and* before CF2 was flushed.

Now, when the region is opened in a new region server, the region will contain a partial transaction
(only CF1 changes will survive)-- and cross CF atomicity will be lost.

- Kannan


On 2011-10-03 05:54:07, Dhruba Borthakur wrote:
bq.  
bq.  -----------------------------------------------------------
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2141/
bq.  -----------------------------------------------------------
bq.  
bq.  (Updated 2011-10-03 05:54:07)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  -------
bq.  
bq.  The changes the multiPut operation so that the sync to the wal occurs outside the rowlock.
bq.  
bq.  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.
bq.  
bq.  I have attached a unit test. I have not yet run all unit tests, but early feedback on
this patch will be very helpful.
bq.  
bq.  
bq.  This addresses bug HBASE-4528.
bq.      https://issues.apache.org/jira/browse/HBASE-4528
bq.  
bq.  
bq.  Diffs
bq.  -----
bq.  
bq.    /src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 1178298 
bq.    /src/test/java/org/apache/hadoop/hbase/regionserver/TestParallelPut.java PRE-CREATION

bq.  
bq.  Diff: https://reviews.apache.org/r/2141/diff
bq.  
bq.  
bq.  Testing
bq.  -------
bq.  
bq.  Not yet run the full suite of unit tests.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Dhruba
bq.  
bq.


                
> 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