-
Bug
-
Resolution: Done
-
Critical
-
9.1.0.Final, 9.2.0.Final
-
None
-
None
Steps to reproduce:
1) Use infinispan server version 8.2.6 (or JDG server 7.1.0) and start it.
cd JDG_HOME/bin ./standalone.sh
2) Create sample java project having dependency on latest dependency 9.2.0.CR1 in pom.xml:
<dependencies> <dependency> <groupId>org.infinispan</groupId> <artifactId>infinispan-core</artifactId> <version>9.2.0.CR1</version> </dependency> <dependency> <groupId>org.infinispan</groupId> <artifactId>infinispan-cachestore-remote</artifactId> <version>9.2.0.CR1</version> </dependency> </dependencies>
3) Add one simple java class based on the tutorial: http://infinispan.org/tutorials/simple/remote/ . The only difference is that I use hotRod protocolVersion 2.5 and calling:
remoteCache.keySet().iterator().hasNext()
. I am attaching the class in attachement.
4) Run the class. Seeing exception in both server log and on client-side.
Server exception
10:44:20,365 ERROR [org.infinispan.server.hotrod.CacheDecodeContext] (HotRodServerWorker-6-1) ISPN005003: Exception reported: java.lang.IllegalStateException: ISPN006016: Factory 'org.infinispan.server.hotrod.HotRodServer$ToEmptyBytesKeyValueFilterConverter' not found in server at org.infinispan.server.hotrod.iteration.DefaultIterationManager.getFactory(DefaultIterationManager.java:148) at org.infinispan.server.hotrod.iteration.DefaultIterationManager.start(DefaultIterationManager.java:131) at org.infinispan.server.hotrod.ContextHandler.realRead(ContextHandler.java:175) at org.infinispan.server.hotrod.ContextHandler.lambda$channelRead0$1(ContextHandler.java:57) at org.infinispan.server.hotrod.ContextHandler$$Lambda$86/1492247987.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144) at java.lang.Thread.run(Thread.java:745)
Client exception:
Jan 24, 2018 10:44:20 AM org.infinispan.client.hotrod.impl.protocol.Codec20 checkForErrorsInResponseStatus WARN: ISPN004005: Error received from the server: java.lang.IllegalStateException: ISPN006016: Factory 'org.infinispan.server.hotrod.HotRodServer$ToEmptyBytesKeyValueFilterConverter' not found in server Exception in thread "main" org.infinispan.client.hotrod.exceptions.HotRodClientException:Request for messageId=5 returned server error (status=0x85): java.lang.IllegalStateException: ISPN006016: Factory 'org.infinispan.server.hotrod.HotRodServer$ToEmptyBytesKeyValueFilterConverter' not found in server at org.infinispan.client.hotrod.impl.protocol.Codec20.checkForErrorsInResponseStatus(Codec20.java:408) at org.infinispan.client.hotrod.impl.protocol.Codec20.readPartialHeader(Codec20.java:162) at org.infinispan.client.hotrod.impl.protocol.Codec20.readHeader(Codec20.java:148) at org.infinispan.client.hotrod.impl.operations.HotRodOperation.readHeaderAndValidate(HotRodOperation.java:60) at org.infinispan.client.hotrod.impl.operations.IterationStartOperation.executeOperation(IterationStartOperation.java:72) at org.infinispan.client.hotrod.impl.operations.IterationStartOperation.executeOperation(IterationStartOperation.java:21) at org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation.execute(RetryOnFailureOperation.java:56) at org.infinispan.client.hotrod.impl.iteration.RemoteCloseableIterator.startInternal(RemoteCloseableIterator.java:127) at org.infinispan.client.hotrod.impl.iteration.RemoteCloseableIterator.start(RemoteCloseableIterator.java:140) at org.infinispan.client.hotrod.impl.RemoteCacheImpl.retrieveEntries(RemoteCacheImpl.java:162) at org.infinispan.client.hotrod.impl.RemoteCacheImpl.retrieveEntries(RemoteCacheImpl.java:168) at org.infinispan.client.hotrod.impl.RemoteCacheImpl.retrieveEntries(RemoteCacheImpl.java:173) at org.infinispan.client.hotrod.impl.RemoteCacheImpl$KeySet.iterator(RemoteCacheImpl.java:553) at org.mposolda.ispn.InfinispanRemote.main(InfinispanRemote.java:34)
Indeed, When looking at this line of class RemoteCacheImpl, I see that it references the class, which seem that it was added in HotRodServer version 9. This looks like the cause of the error: https://github.com/infinispan/infinispan/blob/master/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/RemoteCacheImpl.java#L554
- relates to
-
JBEAP-14547 Session offloading broken with IllegalStateException: ISPN006016: Factory 'org.infinispan.server.hotrod.HotRodServer$ToEmptyBytesKeyValueFilterConverter' not found in server
- Closed
-
ISPN-7900 Provide entrySet, values, keySet implementation for RemoteCache
- Closed