]
Tristan Tarrant updated ISPN-6550:
----------------------------------
Status: Resolved (was: Pull Request Sent)
Fix Version/s: 9.0.0.Alpha2
8.2.2.Final
9.0.0.Final
Resolution: Done
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
Fix For: 9.0.0.Alpha2, 8.2.2.Final, 9.0.0.Final
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}