[
https://issues.jboss.org/browse/ISPN-3330?page=com.atlassian.jira.plugin....
]
Galder Zamarreño resolved ISPN-3330.
------------------------------------
Fix Version/s: (was: 6.0.0.Final)
(was: 6.0.0.Alpha2)
Resolution: Rejected
The configuration is invalid. Since Hot Rod does not support transactions, it does not
make sense to have repeteable read as isolation level. IOW, without transactions, taking
each individual operation as it comes, there can't be a repeated read for an entry
within a transaction, because a transaction only spans, at the most, one operation.
Hotrod clients getWithMetadata doesn't work with dist/repl cache
----------------------------------------------------------------
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
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