[ https://issues.apache.org/jira/browse/HBASE-26385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Duo Zhang resolved HBASE-26385. ------------------------------- Fix Version/s: 2.4.9 3.0.0-alpha-2 2.5.0 Hadoop Flags: Reviewed Resolution: Fixed Pushed to branch-2.4+. Thanks [~binlijin] and [~pankajkumar]. > 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 > Priority: Major > Fix For: 2.5.0, 3.0.0-alpha-2, 2.4.9 > > > 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)