[
https://issues.jboss.org/browse/ISPN-835?page=com.atlassian.jira.plugin.s...
]
Manik Surtani updated ISPN-835:
-------------------------------
Fix Version/s: (was: 4.2.1.Final)
Workaround Description:
Workaround #1:
Disable state transfer - and use a ClusteredCacheLoader to lazily lookup remote state as
and when needed. It might require some code changes to make the code efficient, for
example:
If put() method's return value is not needed, pass Flag.SKIP_CACHE_LOAD so that
clustered cache loader is not queried for previous value.
Workaround #2:
Enable state transfer and REPL_SYNC. Use the Async API (e.g., cache.putAsync(k, v)) to
actieve 'fire-and-forget' capabilities.
Workaround #3:
Enable state transfer and REPL_ASYNC. All RPCs end up becoming sync, but client threads
*will not* be held up if you enable a replication queue (which is recommended for async
mode anyway).
was:
Disable state transfer - and use a ClusteredCacheLoader to lazily lookup remote state as
and when needed.
It might require some code changes to make the code efficient, for example:
If put() method's return value is not needed, pass Flag.SKIP_CACHE_LOAD so that
clustered cache loader is not queried for previous value.
Priority: Major (was: Critical)
De-prioritising due to the large number of options as workarounds.
State transfer should not force all invocations to be synchronous
-----------------------------------------------------------------
Key: ISPN-835
URL:
https://issues.jboss.org/browse/ISPN-835
Project: Infinispan
Issue Type: Bug
Components: RPC, State transfer
Affects Versions: 4.1.0.Final, 4.2.0.CR4
Reporter: Galder ZamarreƱo
Assignee: Manik Surtani
Fix For: 5.0.0.BETA1, 5.0.0.Final
Enabling state transfer is forcing even asynchronous caches to become synchronous.
A better way is needed to make sure state transfer works correctly (sync calls needed
here) while normal replication calls remain asynchronous.
See
https://github.com/infinispan/infinispan/blob/master/core/src/main/java/o...
where the response mode is overridden based on whether replay is supported. And replay
support is always on when state transfer is enabled:
https://github.com/infinispan/infinispan/blob/master/core/src/main/java/o...
Need to explore whether a joiner flag can be maintained based on a view change, and
replay only supported when a joiner is still "joining", and not otherwise.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira