]
Gustavo Fernandes updated ISPN-6550:
------------------------------------
Git Pull Request:
Remote iterator does not work in compatibility mode
---------------------------------------------------
Key: ISPN-6550
URL:
https://issues.jboss.org/browse/ISPN-6550
Project: Infinispan
Issue Type: Bug
Components: Server
Reporter: Gustavo Fernandes
Assignee: Gustavo Fernandes
There are two issues when trying to iterate caches configured with compatibility:
1) Since the client-side key tracker calculates segments based on byte[] keys, and the
routing on the server is done via Object, there's a mismatch between segments
calculated in the server and the client casing NPEs that prevent the data from the socket
to be consumed correctly, resulting sometimes in:
{code}
org.infinispan.client.hotrod.exceptions.InvalidResponseException:: Invalid magic number.
Expected 0xa1 and received 0x0
at org.infinispan.client.hotrod.impl.protocol.Codec20.readMagic(Codec20.java:313)
at org.infinispan.client.hotrod.impl.protocol.Codec20.readHeader(Codec20.java:115)
at
org.infinispan.client.hotrod.impl.operations.HotRodOperation.readHeaderAndValidate(HotRodOperation.java:56)
at
org.infinispan.client.hotrod.impl.operations.IterationEndOperation.execute(IterationEndOperation.java:34)
at
org.infinispan.client.hotrod.impl.iteration.RemoteCloseableIterator.close(RemoteCloseableIterator.java:64)
{code}
2) When the cache configuration has a different name than the cache, CCE errors are
thrown:
{code}
org.infinispan.client.hotrod.exceptions.HotRodClientException:
java.lang.ClassCastException: java.lang.Integer cannot be cast to [B
at
org.infinispan.client.hotrod.impl.protocol.Codec20.checkForErrorsInResponseStatus(Codec20.java:343)
~[infinispan-client-hotrod-9.0.0-SNAPSHOT.jar:9.0.0-SNAPSHOT]
{code}