[ 
https://issues.apache.org/jira/browse/HBASE-15082?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

stack updated HBASE-15082:
--------------------------
    Attachment: 15082v2.patch

Findbugs complaints are not from this patch. Trying to address in another 
issue. The rest is mine though. Here is another attempt.

{code}
if a thread A begins a transaction writing row A and then thread B beings a
transaction on row B, but then thread B completes and thread A does not...
A subsequent read of row B will not see the most recent write on this row
because the read point has not caught up because the outstanding mvcc write
from thread A will hold up the complete of the thread B mvcc complete; its
this latter that will catch up the mvcc read point. In branch-1, we did
a read uncommitted to get around this fact. TODO: Add test here.

This patch is a forward port of the branch-1 'fix'. Also does refactor
of a few methods that were copy/pastes of each other: increment and append
as well as checkAndMutate and checkAndRowMutation.

M b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Scan.java
  Pass on any isolation level specified.

M b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestIncrement.java
  Give test a proper name.

M  b/hbase-common/src/main/java/org/apache/hadoop/hbase/TagUtil.java
  Added utility methods carryForwardTags and carryForwardTTLTag.

M 
b/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.java
  Fix method capitalization

M b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
  Move all mvcc completes and syncs under row lock. While I'm at it, since sync 
is
  now under row lock, move update of memstore AFTER sync-to-WAL. Allows for 
simplification
  Removed guts of a DLR method, setRecovering. Doesn't work and unsupported 
since 1.2.
  Fixed capitialization on getReadpoint.
  Tried to break up a few massive methods.

D 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/ReplayHLogKey.java
  Removed. From DLR.

M  b/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALKey.java
  Add utility completeMvcc

A  
b/hbase-server/src/test/java/org/apache/hadoop/hbase/IncrementPerformanceTest.java
  Added simple increment test.
{code}

> Fix merge of MVCC and SequenceID performance regression
> -------------------------------------------------------
>
>                 Key: HBASE-15082
>                 URL: https://issues.apache.org/jira/browse/HBASE-15082
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Performance
>            Reporter: stack
>            Assignee: stack
>            Priority: Critical
>             Fix For: 2.0.0, 1.2.0, 1.3.0
>
>         Attachments: 15082.patch, 15082v2.patch, 15082v2.txt, 15082v3.txt, 
> 15082v4.patch, 15082v5.patch
>
>
> This is general fix for increments (appends, checkAnd*) perf-regression 
> identified in the parent issue. HBASE-15031 has a narrow fix for branch-1.1 
> and branch-1.0.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to