[
https://issues.apache.org/jira/browse/HBASE-22835?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jeongmin Kim updated HBASE-22835:
---------------------------------
Fix Version/s: 1.3.6
Affects Version/s: (was: 1.2.12)
Attachment: HBASE-22835.patch
Status: Patch Available (was: Open)
> Scan/Get with setColumn to the store with ROWCOL bloom filter throws
> AssertionError of scan order check
> -------------------------------------------------------------------------------------------------------
>
> Key: HBASE-22835
> URL: https://issues.apache.org/jira/browse/HBASE-22835
> Project: HBase
> Issue Type: Bug
> Affects Versions: 1.3.5
> Reporter: Jeongmin Kim
> Priority: Major
> Fix For: 1.3.6
>
> Attachments: HBASE-22835.patch
>
>
> Scan/Get with setColumn and the store with ROWCOL bloom filter could throw
> AssertionError of scan order check.
> which is resolved by HBASE-19863 for 1.4, 2.x, or later version.
> A same bug exists in branch 1.3 and older, and also my cluster suffered from
> the same problem.
>
> When ROWCOL bloomFilter is enabled and fake cell is the prevCell,
> actual hfs offset can be behind, in this case heap.next() is not enough. it
> requires reseek to find right next cell.
> {code:java}
> Mon Jan 29 19:01:06 UTC 2018,
> RpcRetryingCaller{globalStartTime=1517252466261, pause=250, retries=6},
> java.io.IOException: java.io.IOException: Key
> key10018/0:C09/OLDEST_TIMESTAMP/Minimum/vlen=0/seqid=0 followed by a smaller
> key key10018/0:C04/1517252461198/Put/vlen=3/seqid=4 in cf 0
> at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2412)
> at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:124)
> at
> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:297)
> at
> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:277)
> Caused by: java.lang.AssertionError: Key
> key10018/0:C09/OLDEST_TIMESTAMP/Minimum/vlen=0/seqid=0 followed by a smaller
> key key10018/0:C04/1517252461198/Put/vlen=3/seqid=4 in cf 0
> at
> org.apache.hadoop.hbase.regionserver.StoreScanner.checkScanOrder(StoreScanner.java:975)
> at
> org.apache.hadoop.hbase.regionserver.StoreScanner.next(StoreScanner.java:555)
> at
> org.apache.hadoop.hbase.regionserver.KeyValueHeap.next(KeyValueHeap.java:152)
> at
> org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.populateResult(HRegion.java:6219)
> at
> org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.nextInternal(HRegion.java:6379)
> at
> org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.nextRaw(HRegion.java:6151)
> at
> org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2808)
> at
> org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:3045)
> at
> org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:36613)
> at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2354)
> ... 3 more
> {code}
>
> I created a backport patch of HBASE-19863.
> Exact same testcase included. And changed StoreScanner due to the difference
> of codes.
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)