[infinispan-issues] [JBoss JIRA] (ISPN-3330) Hotrod clients getWithMetadata doesn't work with dist/repl cache
Galder Zamarreño (JIRA)
jira-events at lists.jboss.org
Mon Jul 22 06:06:27 EDT 2013
[ https://issues.jboss.org/browse/ISPN-3330?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
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
More information about the infinispan-issues
mailing list