[ 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