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

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-22 15:55:20.687122)


Review request for hbase.


Changes
-------

Fixed two typos pointed out by Ted.

TimeRangeTracker is not updated because it is a heuristic that records the 
(min, max) of the timestamps of the kvs in the memstore. We cannot update it 
during the rollback because we do not know what the next min or max is without 
scanning all the existing keys in the memstore. From what I understand, the 
timeRangeTracker is essentially a heuristic, so it is ok to not update it in 
the rare case of a rollback.


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.


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 1187667 
  /src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueSkipListSet.java 
1187667 
  /src/main/java/org/apache/hadoop/hbase/regionserver/MemStore.java 1187667 
  
/src/main/java/org/apache/hadoop/hbase/regionserver/ReadWriteConsistencyControl.java
 1187667 
  /src/main/java/org/apache/hadoop/hbase/regionserver/Store.java 1187667 
  /src/main/java/org/apache/hadoop/hbase/regionserver/StoreFlusher.java 1187667 
  /src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java 1187667 
  /src/test/java/org/apache/hadoop/hbase/regionserver/TestParallelPut.java 
PRE-CREATION 
  /src/test/java/org/apache/hadoop/hbase/regionserver/TestStore.java 1187667 
  /src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRolling.java 
1187667 

Diff: https://reviews.apache.org/r/2141/diff


Testing
-------

I ran TestLogRolling over and over again, about 50 times, not failed a single 
time.


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
>             Fix For: 0.94.0
>
>         Attachments: appendNoSync5.txt, appendNoSyncPut1.txt, 
> appendNoSyncPut2.txt, appendNoSyncPut3.txt, appendNoSyncPut4.txt, 
> appendNoSyncPut5.txt, appendNoSyncPut6.txt, appendNoSyncPut7.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