eomiks opened a new pull request #484: HBASE-22835 Scan/Get with setColumn and 
the store with ROWCOL bloom f…
URL: https://github.com/apache/hbase/pull/484
 
 
   Scan/Get with setColumn and the store with ROWCOL bloom filter could throw 
AssertionError (backport of HBASE-19863)
   
   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.
   ```
   java.lang.AssertionError: Key 
key167/0:C09/OLDEST_TIMESTAMP/Minimum/vlen=0/seqid=0 
   followed by a smaller key key167/0:C04/1565596231736/Put/vlen=3/seqid=4 in 
cf 0 at 
   
org.apache.hadoop.hbase.regionserver.StoreScanner.checkScanOrder(StoreScanner.java:969)
 at 
org.apache.hadoop.hbase.regionserver.StoreScanner.next(StoreScanner.java:551) 
at 
   
org.apache.hadoop.hbase.regionserver.KeyValueHeap.next(KeyValueHeap.java:150) 
at 
org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.populateResult(HRegion.java:6144)
 at 
   
org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.nextInternal(HRegion.java:6307)
 at 
   
org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.nextRaw(HRegion.java:6081)
 
   at 
org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2755)
 at 
   
org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2957)
 at 
   
org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:35072)
 at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2394) at 
org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:123) at 
   org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:188) at 
org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:168) 
   ```
   I created a backport patch of HBASE-19863.
   
   Exact same testcase included. And changed StoreScanner due to the difference 
of codes.
   
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to