My environment:
- DCP Client version
0.10.0
- Core IO version
1.4.4
- Java SDK version
2.4.4
- RxJava version
1.2.7
While calling DcpMutationMessage.contentBytes(byteBuf)
, I am getting following exception
2017-06-26 16:37:49.492 [Thread: nioEventLoopGroup-5-2] WARN com.couchbase.client.deps.io.netty.channel.DefaultChannelPipeline# - An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.
java.lang.IndexOutOfBoundsException: index: 0, length: 549 (expected: range(0, 477))
at com.couchbase.client.deps.io.netty.buffer.AbstractByteBuf.checkIndex0(AbstractByteBuf.java:1125) ~[core-io-1.4.4.jar:?]
at com.couchbase.client.deps.io.netty.buffer.SlicedByteBuf.getBytes(SlicedByteBuf.java:199) ~[core-io-1.4.4.jar:?]
at com.couchbase.client.deps.io.netty.buffer.AbstractByteBuf.getBytes(AbstractByteBuf.java:440) ~[core-io-1.4.4.jar:?]
at com.couchbase.client.dcp.message.DcpMutationMessage.contentBytes(DcpMutationMessage.java:50) ~[dcp-client-0.10.0.jar:?]
at com.demo.dcpclient.util.function.Functions.lambda$7(Functions.java:149) ~[bin/:?]
at com.demo.dcpclient.listener.DCPEventListenerRunnable.lambda$1(DCPEventListenerRunnable.java:185) ~[bin/:?]
at com.couchbase.client.dcp.Client$3.onEvent(Client.java:295) ~[dcp-client-0.10.0.jar:?]
at com.couchbase.client.dcp.transport.netty.DcpMessageHandler.channelRead(DcpMessageHandler.java:87) ~[dcp-client-0.10.0.jar:?]
at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) ~[core-io-1.4.4.jar:?]
at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) ~[core-io-1.4.4.jar:?]
at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) ~[core-io-1.4.4.jar:?]
at com.couchbase.client.deps.io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293) ~[core-io-1.4.4.jar:?]
at com.couchbase.client.deps.io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:280) ~[core-io-1.4.4.jar:?]
at com.couchbase.client.deps.io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:396) ~[core-io-1.4.4.jar:?]
at com.couchbase.client.deps.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:248) ~[core-io-1.4.4.jar:?]
at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) ~[core-io-1.4.4.jar:?]
at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) ~[core-io-1.4.4.jar:?]
at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) ~[core-io-1.4.4.jar:?]
at com.couchbase.client.deps.io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1294) ~[core-io-1.4.4.jar:?]
at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) ~[core-io-1.4.4.jar:?]
at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) ~[core-io-1.4.4.jar:?]
at com.couchbase.client.deps.io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:911) ~[core-io-1.4.4.jar:?]
at com.couchbase.client.deps.io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131) ~[core-io-1.4.4.jar:?]
at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:625) ~[core-io-1.4.4.jar:?]
at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:560) ~[core-io-1.4.4.jar:?]
at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:477) ~[core-io-1.4.4.jar:?]
at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:439) ~[core-io-1.4.4.jar:?]
at com.couchbase.client.deps.io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131) ~[core-io-1.4.4.jar:?]
at com.couchbase.client.deps.io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144) ~[core-io-1.4.4.jar:?]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
The code that is throwing this exception is MessageUtil.getContent(byteBuf)
(line # 203
which is buffer.slice()
.
This is causing a huge roadblock for our current development. Appreciate if anybody can help us.
P.S.: I do not have a JIRA account; hence, creating a topic here.