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

chunhui shen commented on HBASE-5569:
-------------------------------------

@Lars
Maybe I don't say clearly.

We could consider the following scenario:

Time 1,Thread 1, row is deleted and row2 is put, so now in the hbase, the real 
KV is only row2

Time 2,Thread 1, do RegionScanner rs = region.getScanner(s);RS open the 
scanner, and ponit the next KV is row2

Time 3,Thread 2, row2 is deleted and row is put,so now in the hbase, the real 
KV is only row

Time 4,Thread 1 do while(rs.next(r)); because the scanner is pointing row2, 
however it is deleted now, so rs.next(r) will get nothing even if row is in the 
hbase.

To fix this issue, we should do scanner.seek in scanner.next() rather than in 
construction of scanner.
                
> TestAtomicOperation.testMultiRowMutationMultiThreads fails occasionally
> -----------------------------------------------------------------------
>
>                 Key: HBASE-5569
>                 URL: https://issues.apache.org/jira/browse/HBASE-5569
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Lars Hofhansl
>            Priority: Minor
>         Attachments: TestAtomicOperation-output.trunk_120313.rar
>
>
> What I pieced together so far is that it is the *scanning* side that has 
> problems sometimes.
> Every time I see a assertion failure in the log I see this before:
> {quote}
> 2012-03-12 21:48:49,523 DEBUG [Thread-211] regionserver.StoreScanner(499): 
> Storescanner.peek() is changed where before = 
> rowB/colfamily11:qual1/75366/Put/vlen=6,and after = 
> rowB/colfamily11:qual1/75203/DeleteColumn/vlen=0
> {quote}
> The order of if the Put and Delete is sometimes reversed.
> The test threads should always see exactly one KV, if the "before" was the 
> Put the thread see 0 KVs, if the "before" was the Delete the threads see 2 
> KVs.
> This debug message comes from StoreScanner to checkReseek. It seems we still 
> some consistency issue with scanning sometimes :(

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to