[JBoss JIRA] (ISPN-9323) RemoteCache.getWithMetadata returns expired metadata when server is transactional cache
by Tristan Tarrant (Jira)
[ https://issues.jboss.org/browse/ISPN-9323?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant commented on ISPN-9323:
---------------------------------------
What about 9.4.0 Final ?
> RemoteCache.getWithMetadata returns expired metadata when server is transactional cache
> ---------------------------------------------------------------------------------------
>
> Key: ISPN-9323
> URL: https://issues.jboss.org/browse/ISPN-9323
> Project: Infinispan
> Issue Type: Bug
> Components: Hot Rod, Server
> Affects Versions: 9.2.4.Final, 9.3.1.Final
> Reporter: Marek Posolda
> Priority: Major
> Attachments: RemoteCacheExpirationTest.java
>
>
> I have transactional cache defined on server side (infinispan-server). I have HotRod client application (RemoteCache), which is connected to server above and which calls this:
> {code}
> remoteCache.put("key", "value", 1000, TimeUnit.SECONDS, 100, TimeUnit.SECONDS);
> MetadataValue loaded = remoteCache.getWithMetadata("key");
> System.out.println("created: " + loaded.getCreated() + ", lastUsed: " + loaded.getLastUsed());
> {code}
> The output is:
> {code}
> created: 0, lastUsed: 0
> {code}
> This is not correct and causes some issues as entries are treated as expired. Especially when used together with remote-store, which is not able to load such entries, as PersistenceUtil#loadAndCheckExpiration method always treat the item loaded from RemoteCache as expired. See the attached application for more details.
> STEPS TO REPRODUCE:
> 1) Use infinispan-server-9.2.4.Final on server side and HotRod client (RemoteCache) version 9.2.4.Final on client side (maven dependency org.infinispan:infinispan-client-hotrod:9.2.4.Final for client app)
> 2) Unzip server 9.2.4.Final to some directory
> 3) Change ISPN_SERVER_HOME/standalone/configuration/clustered.xml and just add this transactional cache to the cache-container (NOTE: configuration "transactional" is already defined in the clustered.xml file):
> {code}
> <distributed-cache name="trans" configuration="transactional" />
> {code}
> 4) Run server with:
> {code}
> ./standalone.sh -c clustered.xml
> {code}
> 5) Run the client application from attachement. You can see the output as described above and also that entry is considered as expired (Example app uses same algorithm like RemoteStore together with PersistenceUtil.loadAndCheckExpired ). Original sources here: https://github.com/mposolda/misc/blob/master/ispn-client-listener/src/mai...
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 6 months
[JBoss JIRA] (ISPN-7417) Implement transcoding
by Gustavo Fernandes (Jira)
[ https://issues.jboss.org/browse/ISPN-7417?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes closed ISPN-7417.
-----------------------------------
Fix Version/s: 9.2.0.Final
Resolution: Done
> Implement transcoding
> ---------------------
>
> Key: ISPN-7417
> URL: https://issues.jboss.org/browse/ISPN-7417
> Project: Infinispan
> Issue Type: Enhancement
> Reporter: Galder Zamarreño
> Assignee: Gustavo Fernandes
> Priority: Major
> Fix For: 9.2.0.Final
>
>
> The aim of this JIRA is to implement transcoding so that data of any type can be stored and it can be transformed on the fly, regardless of the endpoint. The work of the JIRA will be split into different subtasks to be able to split the work.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 6 months
[JBoss JIRA] (ISPN-9116) Server marshallers/transcoders don't support whitelist when deserializing
by Diego Lovison (Jira)
[ https://issues.jboss.org/browse/ISPN-9116?page=com.atlassian.jira.plugin.... ]
Diego Lovison updated ISPN-9116:
--------------------------------
Tester: Diego Lovison
> Server marshallers/transcoders don't support whitelist when deserializing
> -------------------------------------------------------------------------
>
> Key: ISPN-9116
> URL: https://issues.jboss.org/browse/ISPN-9116
> Project: Infinispan
> Issue Type: Bug
> Components: Server
> Affects Versions: 9.3.0.Final, 9.2.5.Final
> Reporter: Gustavo Fernandes
> Assignee: Gustavo Fernandes
> Priority: Major
> Fix For: 9.4.0.Alpha1, 9.4.0.CR3, 9.3.1.Final
>
>
> The server deserializes binary payloads and json/xml payload without any checks. This happens when:
> * Compatibility mode is on
> * Remote listeners with filters
> * Remote iteration with filters
> * Remote tasks with parameters
> * Server is configured with MediaType.APPLICATION_OBJECT
> * Potentially with JSON and XML contents sent via REST
> The remote endpoints affected are REST, Hot Rod and Memcached.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 6 months
[JBoss JIRA] (ISPN-9464) Notify listeners without holding the shared topology lock
by Diego Lovison (Jira)
[ https://issues.jboss.org/browse/ISPN-9464?page=com.atlassian.jira.plugin.... ]
Diego Lovison updated ISPN-9464:
--------------------------------
Tester: Diego Lovison
> Notify listeners without holding the shared topology lock
> ---------------------------------------------------------
>
> Key: ISPN-9464
> URL: https://issues.jboss.org/browse/ISPN-9464
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 9.4.0.CR1
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Major
> Labels: on-hold
> Fix For: 9.4.0.CR3
>
>
> Post-write listeners are invoked from {{ClusteringDependentLogic.commitSingleEntry()}}, while holding the shared topology lock. We should be able to release the topology lock before invoking listeners, so that slow listeners (e.g. clustered/client listeners) don't delay the installation of a new topology.
> Going further, we could try to use optimistic locking (e.g. with a {{StampedLock}}) instead of the {{ReentrantReadWriteLock}}, reverting the data container write if the topology changes and we are no longer an owner. This could help in scenarios where the data container update itself is slow, e.g. when using passivation with a JDBC/remote store.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 6 months
[JBoss JIRA] (ISPN-9464) Notify listeners without holding the shared topology lock
by Diego Lovison (Jira)
[ https://issues.jboss.org/browse/ISPN-9464?page=com.atlassian.jira.plugin.... ]
Diego Lovison updated ISPN-9464:
--------------------------------
Labels: on-hold (was: )
> Notify listeners without holding the shared topology lock
> ---------------------------------------------------------
>
> Key: ISPN-9464
> URL: https://issues.jboss.org/browse/ISPN-9464
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 9.4.0.CR1
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Major
> Labels: on-hold
> Fix For: 9.4.0.CR3
>
>
> Post-write listeners are invoked from {{ClusteringDependentLogic.commitSingleEntry()}}, while holding the shared topology lock. We should be able to release the topology lock before invoking listeners, so that slow listeners (e.g. clustered/client listeners) don't delay the installation of a new topology.
> Going further, we could try to use optimistic locking (e.g. with a {{StampedLock}}) instead of the {{ReentrantReadWriteLock}}, reverting the data container write if the topology changes and we are no longer an owner. This could help in scenarios where the data container update itself is slow, e.g. when using passivation with a JDBC/remote store.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 6 months