[
https://issues.jboss.org/browse/ISPN-3330?page=com.atlassian.jira.plugin....
]
Work on ISPN-3330 started by Galder Zamarreño.
Hotrod clients getWithMetadata doesn't work when locking
isolation != NONE
--------------------------------------------------------------------------
Key: ISPN-3330
URL:
https://issues.jboss.org/browse/ISPN-3330
Project: Infinispan
Issue Type: Bug
Affects Versions: 5.3.0.Final
Reporter: Jakub Markos
Assignee: Galder Zamarreño
Priority: Minor
Fix For: 6.0.0.Final
I have a cluster of 2 infinispan servers with this configuration:
{code:xml}<subsystem xmlns="urn:infinispan:server:core:5.3">
<cache-container name="default" default-cache="default"
listener-executor="infinispan-listener">
<transport stack="udp" executor="infinispan-transport"
lock-timeout="240000"/>
<distributed-cache name="default" start="EAGER"
mode="SYNC" segments="1" owners="2"
batching="false" l1-lifespan="0" remote-timeout="60000">
<locking isolation="REPEATABLE_READ"/>
</distributed-cache>
</cache-container>
</subsystem>{code}
Running this code:
{code}remoteCache.put("k1", "v1", 10000000, TimeUnit.MICROSECONDS);
// setting only lifespan
MetadataValue<String> k1 = remoteCache.getWithMetadata("k1");
assertTrue(k1.getValue().equals("v1"));
// microseconds converted to seconds
assertTrue(k1.getLifespan() == 10);
assertTrue(k1.getMaxIdle() == -1);{code}
fails with:
{code}org.infinispan.client.hotrod.exceptions.HotRodClientException:Request for message
id[5] returned server error (status=0x85): java.lang.ClassCastException:
org.infinispan.container.entries.RepeatableReadEntry can
not be cast to org.infinispan.container.entries.InternalCacheEntry
at
org.infinispan.client.hotrod.impl.protocol.Codec10.checkForErrorsInResponseStatus(Codec10.java:143)
at
org.infinispan.client.hotrod.impl.protocol.Codec10.readHeader(Codec10.java:99)
at
org.infinispan.client.hotrod.impl.operations.HotRodOperation.readHeaderAndValidate(HotRodOperation.java:56)
at
org.infinispan.client.hotrod.impl.operations.AbstractKeyOperation.sendKeyOperation(AbstractKeyOperation.java:52)
at
org.infinispan.client.hotrod.impl.operations.GetWithMetadataOperation.executeOperation(GetWithMetadataOperation.java:35)
at
org.infinispan.client.hotrod.impl.operations.GetWithMetadataOperation.executeOperation(GetWithMetadataOperation.java:23)
at
org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation.execute(RetryOnFailureOperation.java:46)
at
org.infinispan.client.hotrod.impl.RemoteCacheImpl.getWithMetadata(RemoteCacheImpl.java:145){code}
Works with isolation="READ_COMMITED"/"NONE" or with no
<locking> at all.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira