Bug 1364916 - NPE thrown during put to protobuf metadata cache via Hot Rod
Summary: NPE thrown during put to protobuf metadata cache via Hot Rod
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: JBoss Data Grid 6
Classification: JBoss
Component: Server
Version: 6.6.1
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: CR1
: 6.6.1
Assignee: Tristan Tarrant
QA Contact: Martin Gencur
URL:
Whiteboard:
: 1364070 (view as bug list)
Depends On:
Blocks: 1364070
TreeView+ depends on / blocked
 
Reported: 2016-08-08 08:11 UTC by Jiri Holusa
Modified: 2025-02-10 03:49 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2025-02-10 03:49:09 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Jiri Holusa 2016-08-08 08:11:30 UTC
During testing of remote-query quickstart, I get following exception during the run. Notice that other quickstarts (HotRod endpoint) are working fine, so the problem is related to remote querying, not remote put itself.

09:52:28,892 ERROR [org.infinispan.interceptors.InvocationContextInterceptor] (HotRodServerWorker-1) ISPN000136: Error executing command PutKeyValueCommand, writing keys [[B@550ecabc]: java.lang.NullPointerException
	at org.infinispan.interceptors.compat.BaseTypeConverterInterceptor.visitPutKeyValueCommand(BaseTypeConverterInterceptor.java:73) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:71) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:105) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:74) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:43) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:71) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.interceptors.BatchingInterceptor.handleDefault(BatchingInterceptor.java:66) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:43) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:71) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:336) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1610) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.CacheImpl.putInternal(CacheImpl.java:1081) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.CacheImpl.put(CacheImpl.java:1072) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.DecoratedCache.put(DecoratedCache.java:491) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.AbstractDelegatingAdvancedCache.put(AbstractDelegatingAdvancedCache.java:231) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.server.hotrod.CacheDecodeContext.put(CacheDecodeContext.scala:211) [infinispan-server-hotrod-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.server.hotrod.HotRodDecoder.org$infinispan$server$hotrod$HotRodDecoder$$decodeValue(HotRodDecoder.scala:140) [infinispan-server-hotrod-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.server.hotrod.HotRodDecoder$$anonfun$decode$1.apply$mcV$sp(HotRodDecoder.scala:54) [infinispan-server-hotrod-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.server.hotrod.HotRodDecoder.wrapSecurity(HotRodDecoder.scala:219) [infinispan-server-hotrod-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.server.hotrod.HotRodDecoder.decode(HotRodDecoder.scala:49) [infinispan-server-hotrod-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:362) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:141) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
	at org.infinispan.server.hotrod.HotRodDecoder.org$infinispan$server$core$transport$StatsChannelHandler$$super$channelRead(HotRodDecoder.scala:32) [infinispan-server-hotrod-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.server.core.transport.StatsChannelHandler$class.channelRead(StatsChannelHandler.scala:32) [infinispan-server-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.server.hotrod.HotRodDecoder.channelRead(HotRodDecoder.scala:32) [infinispan-server-hotrod-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:341) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
	at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:327) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:116) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:494) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:461) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:378) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
	at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
	at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_66]

Comment 1 Anna Manukyan 2016-08-08 08:21:03 UTC
The same issue appears while running the HotRodRemoteQueryIT test which extends org.infinispan.server.test.query.RemoteQueryIT test. 
The test throws this exception: 

org.infinispan.client.hotrod.exceptions.HotRodClientException: java.lang.NullPointerException
	at org.infinispan.client.hotrod.impl.protocol.Codec20.checkForErrorsInResponseStatus(Codec20.java:343)
	at org.infinispan.client.hotrod.impl.protocol.Codec20.readPartialHeader(Codec20.java:133)
	at org.infinispan.client.hotrod.impl.protocol.Codec20.readHeader(Codec20.java:119)
	at org.infinispan.client.hotrod.impl.operations.HotRodOperation.readHeaderAndValidate(HotRodOperation.java:56)
	at org.infinispan.client.hotrod.impl.operations.AbstractKeyValueOperation.sendPutOperation(AbstractKeyValueOperation.java:56)
	at org.infinispan.client.hotrod.impl.operations.PutOperation.executeOperation(PutOperation.java:33)
	at org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation.execute(RetryOnFailureOperation.java:56)
	at org.infinispan.client.hotrod.impl.RemoteCacheImpl.put(RemoteCacheImpl.java:323)
	at org.infinispan.client.hotrod.impl.RemoteCacheSupport.put(RemoteCacheSupport.java:79)
	at org.infinispan.server.test.query.RemoteQueryBaseIT.setUp(RemoteQueryBaseIT.java:55)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
	at org.jboss.arquillian.junit.Arquillian$StatementLifecycleExecutor.invoke(Arquillian.java:459)
	at org.jboss.arquillian.container.test.impl.execution.BeforeLifecycleEventExecuter.on(BeforeLifecycleEventExecuter.java:35)
	at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
	at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)


And the following exception is thrown on the server:

[0m[31m10:18:54,744 ERROR [org.infinispan.interceptors.InvocationContextInterceptor] (HotRodServerWorker-18) ISPN000136: Error executing command PutKeyValueCommand, writing keys [[B@5ef79874]: java.lang.NullPointerException
	at org.infinispan.interceptors.compat.BaseTypeConverterInterceptor.visitPutKeyValueCommand(BaseTypeConverterInterceptor.java:73) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:71) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:105) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:74) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:43) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:71) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.interceptors.BatchingInterceptor.handleDefault(BatchingInterceptor.java:66) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:43) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:71) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:336) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1610) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.CacheImpl.putInternal(CacheImpl.java:1081) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.CacheImpl.put(CacheImpl.java:1072) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.DecoratedCache.put(DecoratedCache.java:491) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.AbstractDelegatingAdvancedCache.put(AbstractDelegatingAdvancedCache.java:231) [infinispan-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.server.hotrod.CacheDecodeContext.put(CacheDecodeContext.scala:211) [infinispan-server-hotrod-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.server.hotrod.HotRodDecoder.org$infinispan$server$hotrod$HotRodDecoder$$decodeValue(HotRodDecoder.scala:140) [infinispan-server-hotrod-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.server.hotrod.HotRodDecoder$$anonfun$decode$1.apply$mcV$sp(HotRodDecoder.scala:54) [infinispan-server-hotrod-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.server.hotrod.HotRodDecoder.wrapSecurity(HotRodDecoder.scala:219) [infinispan-server-hotrod-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.server.hotrod.HotRodDecoder.decode(HotRodDecoder.scala:49) [infinispan-server-hotrod-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:362) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:141) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
	at org.infinispan.server.hotrod.HotRodDecoder.org$infinispan$server$core$transport$StatsChannelHandler$$super$channelRead(HotRodDecoder.scala:32) [infinispan-server-hotrod-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.server.core.transport.StatsChannelHandler$class.channelRead(StatsChannelHandler.scala:32) [infinispan-server-core-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at org.infinispan.server.hotrod.HotRodDecoder.channelRead(HotRodDecoder.scala:32) [infinispan-server-hotrod-6.4.1.ER1-redhat-1.jar:6.4.1.ER1-redhat-1]
	at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:341) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
	at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:327) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:116) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:494) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:461) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:378) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
	at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
	at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_66]

Comment 2 Anna Manukyan 2016-08-08 08:57:12 UTC
The same issue appears also when running the hotrod client tests with Karaf. The following exception is thrown: 

org.infinispan.client.hotrod.exceptions.HotRodClientException: java.lang.NullPointerException
	at org.infinispan.client.hotrod.impl.protocol.Codec20.checkForErrorsInResponseStatus(Codec20.java:343)
	at org.infinispan.client.hotrod.impl.protocol.Codec20.readPartialHeader(Codec20.java:133)
	at org.infinispan.client.hotrod.impl.protocol.Codec20.readHeader(Codec20.java:119)
	at org.infinispan.client.hotrod.impl.operations.HotRodOperation.readHeaderAndValidate(HotRodOperation.java:56)
	at org.infinispan.client.hotrod.impl.operations.AbstractKeyValueOperation.sendPutOperation(AbstractKeyValueOperation.java:56)
	at org.infinispan.client.hotrod.impl.operations.PutOperation.executeOperation(PutOperation.java:33)
	at org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation.execute(RetryOnFailureOperation.java:56)
	at org.infinispan.client.hotrod.impl.RemoteCacheImpl.put(RemoteCacheImpl.java:323)
	at org.infinispan.client.hotrod.impl.RemoteCacheSupport.put(RemoteCacheSupport.java:79)
	at org.infinispan.server.test.client.hotrod.osgi.RemoteCacheOsgiIT.testAttributeQuery(RemoteCacheOsgiIT.java:136)

Comment 3 Vojtech Juranek 2016-08-08 11:50:26 UTC
... and it fails also in testsuite, org.infinispan.server.test.query.RemoteQuery* tests fail with the same error :-)

Comment 4 Vojtech Juranek 2016-08-08 13:01:52 UTC
very likely culprit of other testsuite failures e.g org.infinispan.server.test.query.ManualIndexingIT and others

Comment 5 Gustavo Fernandes 2016-08-08 18:46:18 UTC
The commit that introduced the issue was 97322826979c97d1fe926f9692fcd19b4c13fac0

Comment 8 Martin Gencur 2016-08-17 08:48:47 UTC
*** Bug 1364070 has been marked as a duplicate of this bug. ***

Comment 11 Red Hat Bugzilla 2025-02-10 03:49:09 UTC
This product has been discontinued or is no longer tracked in Red Hat Bugzilla.


Note You need to log in before you can comment on or make changes to this bug.