[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-06-01 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai commented on HBASE-17887:


HBASE-18145 is another bug about the row-level consistency.

> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0, 1.3.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> The scanner of latest memstore may be lost if we make quick flushes. The 
> following step may help explain this issue.
> # put data_A (seq id = 10, active store data_A and snapshots is empty)
> # snapshot of 1st flush (active is empty and snapshot stores data_A)
> # put data_B (seq id = 11, active store data_B and snapshot store data_A)
> # create user scanner (read point = 11, so It should see the data_B)
> # commit of 1st flush
> #* clear snapshot ((hfile_A has data_A, active store data_B, and snapshot is 
> empty)
> #* update the reader (the user scanner receives the hfile_A)
> # snapshot of 2st flush (active is empty and snapshot store data_B)
> # commit of 2st flush
> #* clear snapshot (hfile_A has data_A, hfile_B has data_B, active is empty, 
> and snapshot is empty) – this is critical piece.
> #* -update the reader- (haven't happen)
> # user scanner update the kv scanners (it creates scanner of hfile_A but 
> nothing of memstore)
> # user see the older data A – wrong result



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-28 Thread Mikhail Antonov (JIRA)

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

Mikhail Antonov commented on HBASE-17887:
-

I have been waiting for another issues that I though might make it to 1.3.2 
(possibly RPC / cell format sanity checks), but seems like no point to wait. 
I'll spin up 1.3.2 tomorrow or Monday.

> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0, 1.3.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> The scanner of latest memstore may be lost if we make quick flushes. The 
> following step may help explain this issue.
> # put data_A (seq id = 10, active store data_A and snapshots is empty)
> # snapshot of 1st flush (active is empty and snapshot stores data_A)
> # put data_B (seq id = 11, active store data_B and snapshot store data_A)
> # create user scanner (read point = 11, so It should see the data_B)
> # commit of 1st flush
> #* clear snapshot ((hfile_A has data_A, active store data_B, and snapshot is 
> empty)
> #* update the reader (the user scanner receives the hfile_A)
> # snapshot of 2st flush (active is empty and snapshot store data_B)
> # commit of 2st flush
> #* clear snapshot (hfile_A has data_A, hfile_B has data_B, active is empty, 
> and snapshot is empty) – this is critical piece.
> #* -update the reader- (haven't happen)
> # user scanner update the kv scanners (it creates scanner of hfile_A but 
> nothing of memstore)
> # user see the older data A – wrong result



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-23 Thread Hudson (JIRA)

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

Hudson commented on HBASE-17887:


FAILURE: Integrated in Jenkins build HBase-HBASE-14614 #244 (See 
[https://builds.apache.org/job/HBase-HBASE-14614/244/])
HBASE-17887 Row-level consistency is broken for read (chia7712: rev 
b34ab5980ea7a21fd750537476027f9a8665eacc)
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ChangedReadersObserver.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestWideScanner.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStore.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompactingMemStore.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java


> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0, 1.3.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> The scanner of latest memstore may be lost if we make quick flushes. The 
> following step may help explain this issue.
> # put data_A (seq id = 10, active store data_A and snapshots is empty)
> # snapshot of 1st flush (active is empty and snapshot stores data_A)
> # put data_B (seq id = 11, active store data_B and snapshot store data_A)
> # create user scanner (read point = 11, so It should see the data_B)
> # commit of 1st flush
> #* clear snapshot ((hfile_A has data_A, active store data_B, and snapshot is 
> empty)
> #* update the reader (the user scanner receives the hfile_A)
> # snapshot of 2st flush (active is empty and snapshot store data_B)
> # commit of 2st flush
> #* clear snapshot (hfile_A has data_A, hfile_B has data_B, active is empty, 
> and snapshot is empty) – this is critical piece.
> #* -update the reader- (haven't happen)
> # user scanner update the kv scanners (it creates scanner of hfile_A but 
> nothing of memstore)
> # user see the older data A – wrong result



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-15 Thread Mikhail Antonov (JIRA)

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

Mikhail Antonov commented on HBASE-17887:
-

+1 to what Andrew said. Especially given how the codebase naturally evolves and 
gets diverged in 2.0 and 1.* lines, backporting would more and more look like 2 
separate patches prepared for those release lines, and testing them thoroughly 
on various branches is going to greatly increase total effort community spends 
on them.

> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0, 1.3.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> The scanner of latest memstore may be lost if we make quick flushes. The 
> following step may help explain this issue.
> # put data_A (seq id = 10, active store data_A and snapshots is empty)
> # snapshot of 1st flush (active is empty and snapshot stores data_A)
> # put data_B (seq id = 11, active store data_B and snapshot store data_A)
> # create user scanner (read point = 11, so It should see the data_B)
> # commit of 1st flush
> #* clear snapshot ((hfile_A has data_A, active store data_B, and snapshot is 
> empty)
> #* update the reader (the user scanner receives the hfile_A)
> # snapshot of 2st flush (active is empty and snapshot store data_B)
> # commit of 2st flush
> #* clear snapshot (hfile_A has data_A, hfile_B has data_B, active is empty, 
> and snapshot is empty) – this is critical piece.
> #* -update the reader- (haven't happen)
> # user scanner update the kv scanners (it creates scanner of hfile_A but 
> nothing of memstore)
> # user see the older data A – wrong result



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-15 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-17887:


I would like to encourage everyone following along to be more conservative in 
your thinking as to what to backport to branch-1. Better to focus on getting it 
out in 2.0, especially if it is something nontrivial like a locking change in 
code where any mistake can lead to data loss. :-( 

> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0, 1.3.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> The scanner of latest memstore may be lost if we make quick flushes. The 
> following step may help explain this issue.
> # put data_A (seq id = 10, active store data_A and snapshots is empty)
> # snapshot of 1st flush (active is empty and snapshot stores data_A)
> # put data_B (seq id = 11, active store data_B and snapshot store data_A)
> # create user scanner (read point = 11, so It should see the data_B)
> # commit of 1st flush
> #* clear snapshot ((hfile_A has data_A, active store data_B, and snapshot is 
> empty)
> #* update the reader (the user scanner receives the hfile_A)
> # snapshot of 2st flush (active is empty and snapshot store data_B)
> # commit of 2st flush
> #* clear snapshot (hfile_A has data_A, hfile_B has data_B, active is empty, 
> and snapshot is empty) – this is critical piece.
> #* -update the reader- (haven't happen)
> # user scanner update the kv scanners (it creates scanner of hfile_A but 
> nothing of memstore)
> # user see the older data A – wrong result



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-15 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl commented on HBASE-17887:
---

bq. I guess Lars say HBASE-14970 and this one should not ideally be committed 
to minor versions. So both should go have been going into 2.0 only. Correct 
Lars?

That is what I was saying. But now that's water under the bridge. Let's move 
forward. Not trying to be an a** :)
Thanks for finishing my idea there [~ram_krish]!


> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0, 1.3.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> The scanner of latest memstore may be lost if we make quick flushes. The 
> following step may help explain this issue.
> # put data_A (seq id = 10, active store data_A and snapshots is empty)
> # snapshot of 1st flush (active is empty and snapshot stores data_A)
> # put data_B (seq id = 11, active store data_B and snapshot store data_A)
> # create user scanner (read point = 11, so It should see the data_B)
> # commit of 1st flush
> #* clear snapshot ((hfile_A has data_A, active store data_B, and snapshot is 
> empty)
> #* update the reader (the user scanner receives the hfile_A)
> # snapshot of 2st flush (active is empty and snapshot store data_B)
> # commit of 2st flush
> #* clear snapshot (hfile_A has data_A, hfile_B has data_B, active is empty, 
> and snapshot is empty) – this is critical piece.
> #* -update the reader- (haven't happen)
> # user scanner update the kv scanners (it creates scanner of hfile_A but 
> nothing of memstore)
> # user see the older data A – wrong result



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-14 Thread ramkrishna.s.vasudevan (JIRA)

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

ramkrishna.s.vasudevan commented on HBASE-17887:


bq.Let's roll forward, not backward.
Got it. Thanks for the feedback.
bq. I'd appreciate if you would take a quick look at HBASE-17406 and see if it 
rings some bells. 
Sure. I can spend some time on thiat to see if there are anything I can spot. 
The problem here is that some issues that have come up are not very easy to 
spot, but I will put some efforts here to see if I can track something.

> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0, 1.3.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> The scanner of latest memstore may be lost if we make quick flushes. The 
> following step may help explain this issue.
> # put data_A (seq id = 10, active store data_A and snapshots is empty)
> # snapshot of 1st flush (active is empty and snapshot stores data_A)
> # put data_B (seq id = 11, active store data_B and snapshot store data_A)
> # create user scanner (read point = 11, so It should see the data_B)
> # commit of 1st flush
> #* clear snapshot ((hfile_A has data_A, active store data_B, and snapshot is 
> empty)
> #* update the reader (the user scanner receives the hfile_A)
> # snapshot of 2st flush (active is empty and snapshot store data_B)
> # commit of 2st flush
> #* clear snapshot (hfile_A has data_A, hfile_B has data_B, active is empty, 
> and snapshot is empty) – this is critical piece.
> #* -update the reader- (haven't happen)
> # user scanner update the kv scanners (it creates scanner of hfile_A but 
> nothing of memstore)
> # user see the older data A – wrong result



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-14 Thread Mikhail Antonov (JIRA)

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

Mikhail Antonov commented on HBASE-17887:
-

[~ram_krish] on the other hand... if you feel like doing some review of 
possible implications of that change, while we are on it here.. I'd appreciate 
if you would take a quick look at HBASE-17406 and see if it rings some bells. I 
spent some some digging at the code around but didn't find obvious smoking guns.

> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0, 1.3.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> The scanner of latest memstore may be lost if we make quick flushes. The 
> following step may help explain this issue.
> # put data_A (seq id = 10, active store data_A and snapshots is empty)
> # snapshot of 1st flush (active is empty and snapshot stores data_A)
> # put data_B (seq id = 11, active store data_B and snapshot store data_A)
> # create user scanner (read point = 11, so It should see the data_B)
> # commit of 1st flush
> #* clear snapshot ((hfile_A has data_A, active store data_B, and snapshot is 
> empty)
> #* update the reader (the user scanner receives the hfile_A)
> # snapshot of 2st flush (active is empty and snapshot store data_B)
> # commit of 2st flush
> #* clear snapshot (hfile_A has data_A, hfile_B has data_B, active is empty, 
> and snapshot is empty) – this is critical piece.
> #* -update the reader- (haven't happen)
> # user scanner update the kv scanners (it creates scanner of hfile_A but 
> nothing of memstore)
> # user see the older data A – wrong result



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-14 Thread Mikhail Antonov (JIRA)

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

Mikhail Antonov commented on HBASE-17887:
-

[~ram_krish] oh, I totally didn't intend to assign blame to anyone, rather to 
provide additional context and my perspective in response to Lars' comment.

I think demonstrated performance gains of that patch totally justified changing 
locking schema, and this patch went through numerous rounds of very thorough 
reviews from lots of people (if anything, the bugs founds after might have 
revealed that test coverage around storefile accounting/archiving needed some 
work, which was done, so it's good).

I think at this point I'd want to keep this change in 1.3 line and address 
issues as they arise, rather then try to revert it. We'd lose perf benefits 
from it and (perhaps more important) the revert would be a really massive 
patch. Let's roll forward, not backward.



> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0, 1.3.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> The scanner of latest memstore may be lost if we make quick flushes. The 
> following step may help explain this issue.
> # put data_A (seq id = 10, active store data_A and snapshots is empty)
> # snapshot of 1st flush (active is empty and snapshot stores data_A)
> # put data_B (seq id = 11, active store data_B and snapshot store data_A)
> # create user scanner (read point = 11, so It should see the data_B)
> # commit of 1st flush
> #* clear snapshot ((hfile_A has data_A, active store data_B, and snapshot is 
> empty)
> #* update the reader (the user scanner receives the hfile_A)
> # snapshot of 2st flush (active is empty and snapshot store data_B)
> # commit of 2st flush
> #* clear snapshot (hfile_A has data_A, hfile_B has data_B, active is empty, 
> and snapshot is empty) – this is critical piece.
> #* -update the reader- (haven't happen)
> # user scanner update the kv scanners (it creates scanner of hfile_A but 
> nothing of memstore)
> # user see the older data A – wrong result



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-14 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai commented on HBASE-17887:


This issue has become a long story...We need a separate jira to discuss whether 
HBASE-13082 need to be reverted. Thanks to [~ram_krish] for doing the 
non-trivial work.

> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0, 1.3.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> The scanner of latest memstore may be lost if we make quick flushes. The 
> following step may help explain this issue.
> # put data_A (seq id = 10, active store data_A and snapshots is empty)
> # snapshot of 1st flush (active is empty and snapshot stores data_A)
> # put data_B (seq id = 11, active store data_B and snapshot store data_A)
> # create user scanner (read point = 11, so It should see the data_B)
> # commit of 1st flush
> #* clear snapshot ((hfile_A has data_A, active store data_B, and snapshot is 
> empty)
> #* update the reader (the user scanner receives the hfile_A)
> # snapshot of 2st flush (active is empty and snapshot store data_B)
> # commit of 2st flush
> #* clear snapshot (hfile_A has data_A, hfile_B has data_B, active is empty, 
> and snapshot is empty) – this is critical piece.
> #* -update the reader- (haven't happen)
> # user scanner update the kv scanners (it creates scanner of hfile_A but 
> nothing of memstore)
> # user see the older data A – wrong result



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-14 Thread ramkrishna.s.vasudevan (JIRA)

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

ramkrishna.s.vasudevan commented on HBASE-17887:


Being the author of the HBASE-13082 patch I take the responsibility of 
introducing this critical bug.
If you all feel this bug in 1.3 is going to be a pain, then I can take try to 
revert the HBASE-13082 fix from 1.3. This was a very rare case of bug where two 
consecutive flushes happen consecutively and some time when I ran 
TestAcidGuarentees it was passing to me. But I should accept that when it 
started failing frequently I did not pay attention to those failures as this 
was fixed very long back. Thanks to [~chia7712] for fixing this critcal bug.

> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0, 1.3.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> The scanner of latest memstore may be lost if we make quick flushes. The 
> following step may help explain this issue.
> # put data_A (seq id = 10, active store data_A and snapshots is empty)
> # snapshot of 1st flush (active is empty and snapshot stores data_A)
> # put data_B (seq id = 11, active store data_B and snapshot store data_A)
> # create user scanner (read point = 11, so It should see the data_B)
> # commit of 1st flush
> #* clear snapshot ((hfile_A has data_A, active store data_B, and snapshot is 
> empty)
> #* update the reader (the user scanner receives the hfile_A)
> # snapshot of 2st flush (active is empty and snapshot store data_B)
> # commit of 2st flush
> #* clear snapshot (hfile_A has data_A, hfile_B has data_B, active is empty, 
> and snapshot is empty) – this is critical piece.
> #* -update the reader- (haven't happen)
> # user scanner update the kv scanners (it creates scanner of hfile_A but 
> nothing of memstore)
> # user see the older data A – wrong result



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-14 Thread Mikhail Antonov (JIRA)

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

Mikhail Antonov commented on HBASE-17887:
-

Sorry, had quite busy week and just getting to this.

 - This is awful indeed.. thanks [~chia7712] for all investigation and fix!
 - Answering the question "should it go to 1.3.* line" - yeah, totally, as 
HBASE-14970 went in 1.3.0. Did we move the "official" stable pointer to 1.3 
yet? I don't remember vote on that..I think we wanted to do it when 1.3.1 was 
going to be out, but we didn't? I think I can start rolling 1.3.2 RCs for that 
in the coming week.

[~larsh] (cc [~apurtell])  regarding HBASE-13082, since you touched on 
that...:) As I recall, it was a major pain point during initial 1.3 testing. 
[~ghelmling] has done a lot of great work tracking down and fixing at least 2-3 
critical regressions where there were races leading to incorrect compacted 
files accounting (-> RS crashes). I considered reverting it from 1.3, but this 
change was committed to branch-1 long, long ago (and before 1.3 was cut, I 
believe) ..so reverting it was deemed quite non-trivial work. I think reverting 
it from 1.3 isn't the best option now. We need to roll forward at this point.

Regarding possible other issues this change might have caused - HBASE-17406 is 
still open, though I wasn't able to get a clear repro.



> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0, 1.3.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> The scanner of latest memstore may be lost if we make quick flushes. The 
> following step may help explain this issue.
> # put data_A (seq id = 10, active store data_A and snapshots is empty)
> # snapshot of 1st flush (active is empty and snapshot stores data_A)
> # put data_B (seq id = 11, active store data_B and snapshot store data_A)
> # create user scanner (read point = 11, so It should see the data_B)
> # commit of 1st flush
> #* clear snapshot ((hfile_A has data_A, active store data_B, and snapshot is 
> empty)
> #* update the reader (the user scanner receives the hfile_A)
> # snapshot of 2st flush (active is empty and snapshot store data_B)
> # commit of 2st flush
> #* clear snapshot (hfile_A has data_A, hfile_B has data_B, active is empty, 
> and snapshot is empty) – this is critical piece.
> #* -update the reader- (haven't happen)
> # user scanner update the kv scanners (it creates scanner of hfile_A but 
> nothing of memstore)
> # user see the older data A – wrong result



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-13 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai commented on HBASE-17887:


The acid test should never fail because that is what we guarantee to user. I 
will find it out asap.


> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0, 1.3.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> The scanner of latest memstore may be lost if we make quick flushes. The 
> following step may help explain this issue.
> # put data_A (seq id = 10, active store data_A and snapshots is empty)
> # snapshot of 1st flush (active is empty and snapshot stores data_A)
> # put data_B (seq id = 11, active store data_B and snapshot store data_A)
> # create user scanner (read point = 11, so It should see the data_B)
> # commit of 1st flush
> #* clear snapshot ((hfile_A has data_A, active store data_B, and snapshot is 
> empty)
> #* update the reader (the user scanner receives the hfile_A)
> # snapshot of 2st flush (active is empty and snapshot store data_B)
> # commit of 2st flush
> #* clear snapshot (hfile_A has data_A, hfile_B has data_B, active is empty, 
> and snapshot is empty) – this is critical piece.
> #* -update the reader- (haven't happen)
> # user scanner update the kv scanners (it creates scanner of hfile_A but 
> nothing of memstore)
> # user see the older data A – wrong result



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-13 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-17887:


Another case:
http://104.198.223.121:8080/job/HBase-Flaky-Tests/24813/testReport/junit/org.apache.hadoop.hbase/TestAcidGuarantees/testMobScanAtomicity_0_/

Overall, the test only occasionally fails - much improvement.

> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0, 1.3.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> The scanner of latest memstore may be lost if we make quick flushes. The 
> following step may help explain this issue.
> # put data_A (seq id = 10, active store data_A and snapshots is empty)
> # snapshot of 1st flush (active is empty and snapshot stores data_A)
> # put data_B (seq id = 11, active store data_B and snapshot store data_A)
> # create user scanner (read point = 11, so It should see the data_B)
> # commit of 1st flush
> #* clear snapshot ((hfile_A has data_A, active store data_B, and snapshot is 
> empty)
> #* update the reader (the user scanner receives the hfile_A)
> # snapshot of 2st flush (active is empty and snapshot store data_B)
> # commit of 2st flush
> #* clear snapshot (hfile_A has data_A, hfile_B has data_B, active is empty, 
> and snapshot is empty) – this is critical piece.
> #* -update the reader- (haven't happen)
> # user scanner update the kv scanners (it creates scanner of hfile_A but 
> nothing of memstore)
> # user see the older data A – wrong result



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-12 Thread Anoop Sam John (JIRA)

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

Anoop Sam John commented on HBASE-17887:


I guess Lars say HBASE-14970  and this one should not ideally be committed to 
minor versions. So both should go have been going into 2.0 only. Correct Lars?

> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0, 1.3.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> The scanner of latest memstore may be lost if we make quick flushes. The 
> following step may help explain this issue.
> # put data_A (seq id = 10, active store data_A and snapshots is empty)
> # snapshot of 1st flush (active is empty and snapshot stores data_A)
> # put data_B (seq id = 11, active store data_B and snapshot store data_A)
> # create user scanner (read point = 11, so It should see the data_B)
> # commit of 1st flush
> #* clear snapshot ((hfile_A has data_A, active store data_B, and snapshot is 
> empty)
> #* update the reader (the user scanner receives the hfile_A)
> # snapshot of 2st flush (active is empty and snapshot store data_B)
> # commit of 2st flush
> #* clear snapshot (hfile_A has data_A, hfile_B has data_B, active is empty, 
> and snapshot is empty) – this is critical piece.
> #* -update the reader- (haven't happen)
> # user scanner update the kv scanners (it creates scanner of hfile_A but 
> nothing of memstore)
> # user see the older data A – wrong result



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-12 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai commented on HBASE-17887:


bq. it might have been better to be contained in 2.x.
Do your mean that we shouldn't commit it to branch1-3? If yes, I am fine with 
revert. But we should have a note in mail list to remind dev about this issue.

> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0, 1.3.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> The scanner of latest memstore may be lost if we make quick flushes. The 
> following step may help explain this issue.
> # put data_A (seq id = 10, active store data_A and snapshots is empty)
> # snapshot of 1st flush (active is empty and snapshot stores data_A)
> # put data_B (seq id = 11, active store data_B and snapshot store data_A)
> # create user scanner (read point = 11, so It should see the data_B)
> # commit of 1st flush
> #* clear snapshot ((hfile_A has data_A, active store data_B, and snapshot is 
> empty)
> #* update the reader (the user scanner receives the hfile_A)
> # snapshot of 2st flush (active is empty and snapshot store data_B)
> # commit of 2st flush
> #* clear snapshot (hfile_A has data_A, hfile_B has data_B, active is empty, 
> and snapshot is empty) – this is critical piece.
> #* -update the reader- (haven't happen)
> # user scanner update the kv scanners (it creates scanner of hfile_A but 
> nothing of memstore)
> # user see the older data A – wrong result



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-12 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl commented on HBASE-17887:
---

Wow. Changes like HBASE-14970 and this one really do not belong into a minor 
release of HBase. This is scary stuff. I cannot convince myself from just 
looking at the code that these two do not introduce more subtle issues.

Sorry for the whining. :)
Of course this is great stuff. Just that in hindsight it might have been better 
to be contained in 2.x.

[~apurtell], for your consideration w.r.t. to our planned upgrade to 1.3.x.


> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0, 1.3.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> The scanner of latest memstore may be lost if we make quick flushes. The 
> following step may help explain this issue.
> # put data_A (seq id = 10, active store data_A and snapshots is empty)
> # snapshot of 1st flush (active is empty and snapshot stores data_A)
> # put data_B (seq id = 11, active store data_B and snapshot store data_A)
> # create user scanner (read point = 11, so It should see the data_B)
> # commit of 1st flush
> #* clear snapshot ((hfile_A has data_A, active store data_B, and snapshot is 
> empty)
> #* update the reader (the user scanner receives the hfile_A)
> # snapshot of 2st flush (active is empty and snapshot store data_B)
> # commit of 2st flush
> #* clear snapshot (hfile_A has data_A, hfile_B has data_B, active is empty, 
> and snapshot is empty) – this is critical piece.
> #* -update the reader- (haven't happen)
> # user scanner update the kv scanners (it creates scanner of hfile_A but 
> nothing of memstore)
> # user see the older data A – wrong result



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-12 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai commented on HBASE-17887:


I will check it asap. Thanks for the reminder. [~yuzhih...@gmail.com]

> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0, 1.3.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> The scanner of latest memstore may be lost if we make quick flushes. The 
> following step may help explain this issue.
> # put data_A (seq id = 10, active store data_A and snapshots is empty)
> # snapshot of 1st flush (active is empty and snapshot stores data_A)
> # put data_B (seq id = 11, active store data_B and snapshot store data_A)
> # create user scanner (read point = 11, so It should see the data_B)
> # commit of 1st flush
> #* clear snapshot ((hfile_A has data_A, active store data_B, and snapshot is 
> empty)
> #* update the reader (the user scanner receives the hfile_A)
> # snapshot of 2st flush (active is empty and snapshot store data_B)
> # commit of 2st flush
> #* clear snapshot (hfile_A has data_A, hfile_B has data_B, active is empty, 
> and snapshot is empty) – this is critical piece.
> #* -update the reader- (haven't happen)
> # user scanner update the kv scanners (it creates scanner of hfile_A but 
> nothing of memstore)
> # user see the older data A – wrong result



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-12 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-17887:


https://builds.apache.org/job/HBASE-Flaky-Tests/16032/testReport/junit/org.apache.hadoop.hbase/TestAcidGuarantees/testMixedAtomicity_1_/
 :
{code}
java.lang.RuntimeException: Deferred
at 
org.apache.hadoop.hbase.MultithreadedTestUtil$TestContext.checkException(MultithreadedTestUtil.java:79)
at 
org.apache.hadoop.hbase.MultithreadedTestUtil$TestContext.waitFor(MultithreadedTestUtil.java:72)
at 
org.apache.hadoop.hbase.TestAcidGuarantees.runTestAtomicity(TestAcidGuarantees.java:421)
at 
org.apache.hadoop.hbase.TestAcidGuarantees.runTestAtomicity(TestAcidGuarantees.java:357)
at 
org.apache.hadoop.hbase.TestAcidGuarantees.runTestAtomicity(TestAcidGuarantees.java:348)
at 
org.apache.hadoop.hbase.TestAcidGuarantees.testMixedAtomicity(TestAcidGuarantees.java:461)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 7609
at org.apache.hadoop.hbase.KeyValue.keyToString(KeyValue.java:1208)
at org.apache.hadoop.hbase.KeyValue.toString(KeyValue.java:1153)
at 
org.apache.hadoop.hbase.TestAcidGuarantees$AtomicScanReader.gotFailure(TestAcidGuarantees.java:334)
at 
org.apache.hadoop.hbase.TestAcidGuarantees$AtomicScanReader.doAnAction(TestAcidGuarantees.java:309)
at 
org.apache.hadoop.hbase.MultithreadedTestUtil$RepeatingTestThread.doWork(MultithreadedTestUtil.java:149)
at 
org.apache.hadoop.hbase.MultithreadedTestUtil$TestThread.run(MultithreadedTestUtil.java:124)
{code}
The above failure was with commit b34ab5980ea7a21fd750537476027f9a8665eacc

> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0, 1.3.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> The scanner of latest memstore may be lost if we make quick flushes. The 
> following step may help explain this issue.
> # put data_A (seq id = 10, active store data_A and snapshots is empty)
> # snapshot of 1st flush (active is empty and snapshot stores data_A)
> # put data_B (seq id = 11, active store data_B and snapshot store data_A)
> # create user scanner (read point = 11, so It should see the data_B)
> # commit of 1st flush
> #* clear snapshot ((hfile_A has data_A, active store data_B, and snapshot is 
> empty)
> #* update the reader (the user scanner receives the hfile_A)
> # snapshot of 2st flush (active is empty and snapshot store data_B)
> # commit of 2st flush
> #* clear snapshot (hfile_A has data_A, hfile_B has data_B, active is empty, 
> and snapshot is empty) – this is critical piece.
> #* -update the reader- (haven't happen)
> # user scanner update the kv scanners (it creates scanner of hfile_A but 
> nothing of memstore)
> # user see the older data A – wrong result



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-12 Thread Hudson (JIRA)

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

Hudson commented on HBASE-17887:


SUCCESS: Integrated in Jenkins build HBase-Trunk_matrix #2997 (See 
[https://builds.apache.org/job/HBase-Trunk_matrix/2997/])
HBASE-17887 Row-level consistency is broken for read (chia7712: rev 
b34ab5980ea7a21fd750537476027f9a8665eacc)
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompactingMemStore.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestWideScanner.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStore.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ChangedReadersObserver.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java


> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0, 1.3.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> The scanner of latest memstore may be lost if we make quick flushes. The 
> following step may help explain this issue.
> # put data_A (seq id = 10, active store data_A and snapshots is empty)
> # snapshot of 1st flush (active is empty and snapshot stores data_A)
> # put data_B (seq id = 11, active store data_B and snapshot store data_A)
> # create user scanner (read point = 11, so It should see the data_B)
> # commit of 1st flush
> #* clear snapshot ((hfile_A has data_A, active store data_B, and snapshot is 
> empty)
> #* update the reader (the user scanner receives the hfile_A)
> # snapshot of 2st flush (active is empty and snapshot store data_B)
> # commit of 2st flush
> #* clear snapshot (hfile_A has data_A, hfile_B has data_B, active is empty, 
> and snapshot is empty) – this is critical piece.
> #* -update the reader- (haven't happen)
> # user scanner update the kv scanners (it creates scanner of hfile_A but 
> nothing of memstore)
> # user see the older data A – wrong result



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-12 Thread Hudson (JIRA)

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

Hudson commented on HBASE-17887:


SUCCESS: Integrated in Jenkins build HBase-1.4 #733 (See 
[https://builds.apache.org/job/HBase-1.4/733/])
HBASE-17887 Row-level consistency is broken for read (chia7712: rev 
f81486445c072096022cca77eb0a53f1594ff204)
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultMemStore.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestWideScanner.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ChangedReadersObserver.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStore.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultMemStore.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/io/TestHeapSize.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreChunkPool.java


> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0, 1.3.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> The scanner of latest memstore may be lost if we make quick flushes. The 
> following step may help explain this issue.
> # put data_A (seq id = 10, active store data_A and snapshots is empty)
> # snapshot of 1st flush (active is empty and snapshot stores data_A)
> # put data_B (seq id = 11, active store data_B and snapshot store data_A)
> # create user scanner (read point = 11, so It should see the data_B)
> # commit of 1st flush
> #* clear snapshot ((hfile_A has data_A, active store data_B, and snapshot is 
> empty)
> #* update the reader (the user scanner receives the hfile_A)
> # snapshot of 2st flush (active is empty and snapshot store data_B)
> # commit of 2st flush
> #* clear snapshot (hfile_A has data_A, hfile_B has data_B, active is empty, 
> and snapshot is empty) – this is critical piece.
> #* -update the reader- (haven't happen)
> # user scanner update the kv scanners (it creates scanner of hfile_A but 
> nothing of memstore)
> # user see the older data A – wrong result



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-12 Thread Hudson (JIRA)

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

Hudson commented on HBASE-17887:


SUCCESS: Integrated in Jenkins build HBase-1.3-JDK8 #176 (See 
[https://builds.apache.org/job/HBase-1.3-JDK8/176/])
HBASE-17887 Row-level consistency is broken for read (chia7712: rev 
72edf521c1effe3afe6ce6b39aaf843b8651a4a6)
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/io/TestHeapSize.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreChunkPool.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultMemStore.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ChangedReadersObserver.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStore.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestWideScanner.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultMemStore.java


> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0, 1.3.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> The scanner of latest memstore may be lost if we make quick flushes. The 
> following step may help explain this issue.
> # put data_A (seq id = 10, active store data_A and snapshots is empty)
> # snapshot of 1st flush (active is empty and snapshot stores data_A)
> # put data_B (seq id = 11, active store data_B and snapshot store data_A)
> # create user scanner (read point = 11, so It should see the data_B)
> # commit of 1st flush
> #* clear snapshot ((hfile_A has data_A, active store data_B, and snapshot is 
> empty)
> #* update the reader (the user scanner receives the hfile_A)
> # snapshot of 2st flush (active is empty and snapshot store data_B)
> # commit of 2st flush
> #* clear snapshot (hfile_A has data_A, hfile_B has data_B, active is empty, 
> and snapshot is empty) – this is critical piece.
> #* -update the reader- (haven't happen)
> # user scanner update the kv scanners (it creates scanner of hfile_A but 
> nothing of memstore)
> # user see the older data A – wrong result



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-12 Thread Hudson (JIRA)

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

Hudson commented on HBASE-17887:


SUCCESS: Integrated in Jenkins build HBase-1.3-JDK7 #162 (See 
[https://builds.apache.org/job/HBase-1.3-JDK7/162/])
HBASE-17887 Row-level consistency is broken for read (chia7712: rev 
72edf521c1effe3afe6ce6b39aaf843b8651a4a6)
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreChunkPool.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultMemStore.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStore.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ChangedReadersObserver.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/io/TestHeapSize.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultMemStore.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestWideScanner.java


> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0, 1.3.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> The scanner of latest memstore may be lost if we make quick flushes. The 
> following step may help explain this issue.
> # put data_A (seq id = 10, active store data_A and snapshots is empty)
> # snapshot of 1st flush (active is empty and snapshot stores data_A)
> # put data_B (seq id = 11, active store data_B and snapshot store data_A)
> # create user scanner (read point = 11, so It should see the data_B)
> # commit of 1st flush
> #* clear snapshot ((hfile_A has data_A, active store data_B, and snapshot is 
> empty)
> #* update the reader (the user scanner receives the hfile_A)
> # snapshot of 2st flush (active is empty and snapshot store data_B)
> # commit of 2st flush
> #* clear snapshot (hfile_A has data_A, hfile_B has data_B, active is empty, 
> and snapshot is empty) – this is critical piece.
> #* -update the reader- (haven't happen)
> # user scanner update the kv scanners (it creates scanner of hfile_A but 
> nothing of memstore)
> # user see the older data A – wrong result



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-12 Thread Sean Busbey (JIRA)

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

Sean Busbey commented on HBASE-17887:
-

Could you add a release note? I think we'll want to call attention to this come 
release time, [~chia7712].

{quote}
Since breaking consistency sounds quite critical to me, I think we need a 
special note in dev mailing list.
Mikhail Antonov FYI sir.
{quote}

I don't know if we need a special note, other than to ask [~mantonov] if he'd 
mind starting a 1.3.2 release soon given the severity of the issue.

{quote}
my god...This issues shouldn't include 1.2.6. The related changes are 
introduced by HBASE-14970.
Sean Busbey I'm sorry, please forgive me.
{quote}

No worries, these things happen. :)

I'll go ahead and get 1.2.6RCs rolling.

> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0, 1.3.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> The scanner of latest memstore may be lost if we make quick flushes. The 
> following step may help explain this issue.
> # put data_A (seq id = 10, active store data_A and snapshots is empty)
> # snapshot of 1st flush (active is empty and snapshot stores data_A)
> # put data_B (seq id = 11, active store data_B and snapshot store data_A)
> # create user scanner (read point = 11, so It should see the data_B)
> # commit of 1st flush
> #* clear snapshot ((hfile_A has data_A, active store data_B, and snapshot is 
> empty)
> #* update the reader (the user scanner receives the hfile_A)
> # snapshot of 2st flush (active is empty and snapshot store data_B)
> # commit of 2st flush
> #* clear snapshot (hfile_A has data_A, hfile_B has data_B, active is empty, 
> and snapshot is empty) – this is critical piece.
> #* -update the reader- (haven't happen)
> # user scanner update the kv scanners (it creates scanner of hfile_A but 
> nothing of memstore)
> # user see the older data A – wrong result



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-12 Thread Hudson (JIRA)

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

Hudson commented on HBASE-17887:


SUCCESS: Integrated in Jenkins build HBase-1.3-IT #44 (See 
[https://builds.apache.org/job/HBase-1.3-IT/44/])
HBASE-17887 Row-level consistency is broken for read (chia7712: rev 
72edf521c1effe3afe6ce6b39aaf843b8651a4a6)
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultMemStore.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestWideScanner.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultMemStore.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStore.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ChangedReadersObserver.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreChunkPool.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/io/TestHeapSize.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java


> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0, 1.3.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> The scanner of latest memstore may be lost if we make quick flushes. The 
> following step may help explain this issue.
> # put data_A (seq id = 10, active store data_A and snapshots is empty)
> # snapshot of 1st flush (active is empty and snapshot stores data_A)
> # put data_B (seq id = 11, active store data_B and snapshot store data_A)
> # create user scanner (read point = 11, so It should see the data_B)
> # commit of 1st flush
> #* clear snapshot ((hfile_A has data_A, active store data_B, and snapshot is 
> empty)
> #* update the reader (the user scanner receives the hfile_A)
> # snapshot of 2st flush (active is empty and snapshot store data_B)
> # commit of 2st flush
> #* clear snapshot (hfile_A has data_A, hfile_B has data_B, active is empty, 
> and snapshot is empty) – this is critical piece.
> #* -update the reader- (haven't happen)
> # user scanner update the kv scanners (it creates scanner of hfile_A but 
> nothing of memstore)
> # user see the older data A – wrong result



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-12 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai commented on HBASE-17887:


Will commit it later. I need to rebase it for branch-1.3

> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0, 1.3.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> As per the flaky tests dashboard here: 
> https://builds.apache.org/job/HBASE-Find-Flaky-Tests/lastSuccessfulBuild/artifact/dashboard.html,
>  It fails 30% of the time.
> While working on HBASE-17863, a few verification builds on patch failed due 
> to TestAcidGuarantees didn't pass. IMHO, the changes for HBASE-17863 are 
> unlikely to affect get/ put path.
> I ran the test with and without the patch several times locally and found 
> that TestAcidGuarantees fails without the patch similar number of times.
> Opening blocker, considering acid guarantees are critical to HBase.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-12 Thread Anoop Sam John (JIRA)

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

Anoop Sam John commented on HBASE-17887:


Ok pls go ahead with commit.  Released versions 1.3.0 and 1.3.1 only affected 
then. 

> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0, 1.3.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> As per the flaky tests dashboard here: 
> https://builds.apache.org/job/HBASE-Find-Flaky-Tests/lastSuccessfulBuild/artifact/dashboard.html,
>  It fails 30% of the time.
> While working on HBASE-17863, a few verification builds on patch failed due 
> to TestAcidGuarantees didn't pass. IMHO, the changes for HBASE-17863 are 
> unlikely to affect get/ put path.
> I ran the test with and without the patch several times locally and found 
> that TestAcidGuarantees fails without the patch similar number of times.
> Opening blocker, considering acid guarantees are critical to HBase.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-12 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai commented on HBASE-17887:


bq. The scanners over active and pipeline are in proper pos already. Creating 
new scanners will do new seeks.
Good point. Will create another jira to discuss it.

> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.4.1
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> As per the flaky tests dashboard here: 
> https://builds.apache.org/job/HBASE-Find-Flaky-Tests/lastSuccessfulBuild/artifact/dashboard.html,
>  It fails 30% of the time.
> While working on HBASE-17863, a few verification builds on patch failed due 
> to TestAcidGuarantees didn't pass. IMHO, the changes for HBASE-17863 are 
> unlikely to affect get/ put path.
> I ran the test with and without the patch several times locally and found 
> that TestAcidGuarantees fails without the patch similar number of times.
> Opening blocker, considering acid guarantees are critical to HBase.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-12 Thread Anoop Sam John (JIRA)

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

Anoop Sam John commented on HBASE-17887:


I dont mean keep scanners over old active, pipeline and snapshot. I mean over 
the active and pipeline alone.. Snapshot is any way gone now and we have the 
new file and we create a scanner over it and done the seek.  The scanners over 
active and pipeline are in proper pos already.  Creating new scanners will do 
new seeks.  Any way it is ok we fix this way now and see later any better way.  
  Ya this is a serious problem Yu Li.

> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.4.1
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> As per the flaky tests dashboard here: 
> https://builds.apache.org/job/HBASE-Find-Flaky-Tests/lastSuccessfulBuild/artifact/dashboard.html,
>  It fails 30% of the time.
> While working on HBASE-17863, a few verification builds on patch failed due 
> to TestAcidGuarantees didn't pass. IMHO, the changes for HBASE-17863 are 
> unlikely to affect get/ put path.
> I ran the test with and without the patch several times locally and found 
> that TestAcidGuarantees fails without the patch similar number of times.
> Opening blocker, considering acid guarantees are critical to HBase.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-12 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai commented on HBASE-17887:


bq. I could see the fix version includes 1.2.6 and 1.3.2, so the Row-level 
consistency is broken in some of our released version?
my god...This issues shouldn't include 1.2.6. The related changes are 
introduced by HBASE-14970.
[~busbey] I'm sorry, please forgive me.

> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.2.6, 1.3.2, 1.4.1
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> As per the flaky tests dashboard here: 
> https://builds.apache.org/job/HBASE-Find-Flaky-Tests/lastSuccessfulBuild/artifact/dashboard.html,
>  It fails 30% of the time.
> While working on HBASE-17863, a few verification builds on patch failed due 
> to TestAcidGuarantees didn't pass. IMHO, the changes for HBASE-17863 are 
> unlikely to affect get/ put path.
> I ran the test with and without the patch several times locally and found 
> that TestAcidGuarantees fails without the patch similar number of times.
> Opening blocker, considering acid guarantees are critical to HBase.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-12 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai commented on HBASE-17887:


bq. Was just saying an ideal and more efficient way with no unwanted new 
scanners and seeks.
The data had been copied from memstore to file when the update scanner op 
happen with updating one new file. We could keep the scanner of older 
memstore(active, snapshot, pipeline) to avoid seek but it is also dangerous 
because the GC won't release the memory of flushed data. Hence, it seems to me 
that it is hard to save the cost of extra seek currently.


> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.2.6, 1.3.2, 1.4.1
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> As per the flaky tests dashboard here: 
> https://builds.apache.org/job/HBASE-Find-Flaky-Tests/lastSuccessfulBuild/artifact/dashboard.html,
>  It fails 30% of the time.
> While working on HBASE-17863, a few verification builds on patch failed due 
> to TestAcidGuarantees didn't pass. IMHO, the changes for HBASE-17863 are 
> unlikely to affect get/ put path.
> I ran the test with and without the patch several times locally and found 
> that TestAcidGuarantees fails without the patch similar number of times.
> Opening blocker, considering acid guarantees are critical to HBase.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-12 Thread Yu Li (JIRA)

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

Yu Li commented on HBASE-17887:
---

I could see the fix version includes 1.2.6 and 1.3.2, so the Row-level 
consistency is broken in some of our released version? If so, from which 
version? Mind update the {{Affects Version}} field? Thanks. [~chia7712]

Since breaking consistency sounds quite critical to me, I think we need a 
special note in dev mailing list.

[~mantonov] FYI sir.

> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.2.6, 1.3.2, 1.4.1
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> As per the flaky tests dashboard here: 
> https://builds.apache.org/job/HBASE-Find-Flaky-Tests/lastSuccessfulBuild/artifact/dashboard.html,
>  It fails 30% of the time.
> While working on HBASE-17863, a few verification builds on patch failed due 
> to TestAcidGuarantees didn't pass. IMHO, the changes for HBASE-17863 are 
> unlikely to affect get/ put path.
> I ran the test with and without the patch several times locally and found 
> that TestAcidGuarantees fails without the patch similar number of times.
> Opening blocker, considering acid guarantees are critical to HBase.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-12 Thread Anoop Sam John (JIRA)

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

Anoop Sam John commented on HBASE-17887:


This is excellent investigation work by you Chia-Ping.. 

> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.2.6, 1.3.2, 1.4.1
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> As per the flaky tests dashboard here: 
> https://builds.apache.org/job/HBASE-Find-Flaky-Tests/lastSuccessfulBuild/artifact/dashboard.html,
>  It fails 30% of the time.
> While working on HBASE-17863, a few verification builds on patch failed due 
> to TestAcidGuarantees didn't pass. IMHO, the changes for HBASE-17863 are 
> unlikely to affect get/ put path.
> I ran the test with and without the patch several times locally and found 
> that TestAcidGuarantees fails without the patch similar number of times.
> Opening blocker, considering acid guarantees are critical to HBase.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17887) Row-level consistency is broken for read

2017-05-12 Thread Anoop Sam John (JIRA)

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

Anoop Sam John commented on HBASE-17887:


Had a thought and I know the impl is hard.  Was just saying an ideal way.  Need 
to see how easily we can check whether this new file belong to which scanner.  
Any way of ID mapping or so?  Am not at all sure.  Any way just see.. This fix 
will solve the issue.  Was just saying an ideal and more efficient way with no 
unwanted new scanners and seeks. :-)

> Row-level consistency is broken for read
> 
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0
>Reporter: Umesh Agashe
>Assignee: Chia-Ping Tsai
>Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.2.6, 1.3.2, 1.4.1
>
> Attachments: HBASE-17887.branch-1.v0.patch, 
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch, 
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch, 
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch, 
> HBASE-17887.branch-1.v5.patch, HBASE-17887.branch-1.v6.patch, 
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch, 
> HBASE-17887.v2.patch, HBASE-17887.v3.patch, HBASE-17887.v4.patch, 
> HBASE-17887.v5.patch, HBASE-17887.v5.patch
>
>
> As per the flaky tests dashboard here: 
> https://builds.apache.org/job/HBASE-Find-Flaky-Tests/lastSuccessfulBuild/artifact/dashboard.html,
>  It fails 30% of the time.
> While working on HBASE-17863, a few verification builds on patch failed due 
> to TestAcidGuarantees didn't pass. IMHO, the changes for HBASE-17863 are 
> unlikely to affect get/ put path.
> I ran the test with and without the patch several times locally and found 
> that TestAcidGuarantees fails without the patch similar number of times.
> Opening blocker, considering acid guarantees are critical to HBase.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)