Lijin Bin created HBASE-26385:
---------------------------------

             Summary: Clear CellScanner when replay
                 Key: HBASE-26385
                 URL: https://issues.apache.org/jira/browse/HBASE-26385
             Project: HBase
          Issue Type: Bug
    Affects Versions: 2.4.7
            Reporter: Lijin Bin
            Assignee: Lijin Bin


RSRpcServices#mutate and RSRpcServices#multi we clear CellScanner immediately 
when get CellScanner from  HBaseRpcController,so need it in 
RSRpcServices#replay and  RSRpcServices#replicateWALEntry also.
{code}
    // rpc controller is how we bring in data via the back door;  it is 
unprotobuf'ed data.
    // It is also the conduit via which we pass back data.
    HBaseRpcController controller = (HBaseRpcController)rpcc;
    CellScanner cellScanner = controller != null ? controller.cellScanner(): 
null;
    if (controller != null) {
      controller.setCellScanner(null);
    }
{code}

if not we will see the error like the following
{code}
2021-10-18 12:04:13,971 WARN  
[RpcServer.default.FPBQ.Fifo.handler=29,queue=2,port=16022] ipc.RpcServer: 
RpcServer.default.FPBQ.Fifo.handler=29,queue=2,port=16022: caught: 
java.lang.IllegalArgumentException: ReferenceCount : 0 (expected: > 0)
        at 
org.apache.hbase.thirdparty.io.netty.util.internal.ObjectUtil.checkPositive(ObjectUtil.java:80)
        at org.apache.hadoop.hbase.nio.ByteBuff.checkRefCount(ByteBuff.java:70)
        at 
org.apache.hadoop.hbase.nio.SingleByteBuff.hasRemaining(SingleByteBuff.java:155)
        at 
org.apache.hadoop.hbase.codec.KeyValueCodec$ByteBuffKeyValueDecoder.advance(KeyValueCodec.java:90)
        at 
org.apache.hadoop.hbase.ipc.CellBlockBuilder.encodeCellsTo(CellBlockBuilder.java:191)
        at 
org.apache.hadoop.hbase.ipc.CellBlockBuilder.buildCellBlockStream(CellBlockBuilder.java:228)
        at 
org.apache.hadoop.hbase.ipc.ServerCall.setResponse(ServerCall.java:243)
        at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:168)
        at 
org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:338)
        at 
org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:318)
{code}




--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to