[
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)