[
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