[JBoss JIRA] (ISPN-5470) Remote-executor threads should not block to acquire locks
by Vittorio Rigamonti (JIRA)
[ https://issues.jboss.org/browse/ISPN-5470?page=com.atlassian.jira.plugin.... ]
Vittorio Rigamonti updated ISPN-5470:
-------------------------------------
Fix Version/s: 9.0.0.Alpha2
(was: 9.0.0.Alpha1)
> Remote-executor threads should not block to acquire locks
> ---------------------------------------------------------
>
> Key: ISPN-5470
> URL: https://issues.jboss.org/browse/ISPN-5470
> Project: Infinispan
> Issue Type: Task
> Components: Core
> Affects Versions: 7.2.1.Final
> Reporter: Dan Berindei
> Fix For: 9.0.0.Alpha2
>
>
> Currently, enabling the queue on the remote-executor thread pool can cause deadlocks, because a CommitCommand/1PCPrepareCommand could end up in the queue while a remote-executor thread is busy waiting to acquire the same lock that this commit would release.
> If trying to acquire a lock would free the thread until the key has been acquired, we could enable the queue on the remote-executor/OOB thread pools, and we would need a lot less threads for the same load.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 8 months
[JBoss JIRA] (ISPN-5574) Define high-level cache capabilities
by Vittorio Rigamonti (JIRA)
[ https://issues.jboss.org/browse/ISPN-5574?page=com.atlassian.jira.plugin.... ]
Vittorio Rigamonti updated ISPN-5574:
-------------------------------------
Fix Version/s: 9.0.0.Alpha2
(was: 9.0.0.Alpha1)
> Define high-level cache capabilities
> ------------------------------------
>
> Key: ISPN-5574
> URL: https://issues.jboss.org/browse/ISPN-5574
> Project: Infinispan
> Issue Type: Feature Request
> Components: Configuration, Core
> Affects Versions: 7.2.3.Final
> Reporter: Dan Berindei
> Priority: Minor
> Fix For: 9.0.0.Alpha2
>
>
> Infinispan's configuration is very flexible, and it's sometimes hard to figure out how different settings affect things like cache consistency.
> For example, the lucene-directory module uses the fairly complicated {{Configurations.noDataLossOnJoiner()}} method to validate that a cache is safe for storing lucene indexes.
> Another example is users who would like to use a store for backup, but they don't want read from the store for M/R tasks or when get(k) doesn't find the key in memory.
> One idea would be to define a set of "capabilities" like "state-transfer-complete" or "all-data-in-memory". The user could then add those capabilities in the cache definition, and the cache won't start if the configuration violates those capabilities. The capabilities would also be used internally, to improve the error message when a feature requires a particular combination of settings.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 8 months
[JBoss JIRA] (ISPN-5572) Exposed JMX MBeans should be separate components
by Vittorio Rigamonti (JIRA)
[ https://issues.jboss.org/browse/ISPN-5572?page=com.atlassian.jira.plugin.... ]
Vittorio Rigamonti updated ISPN-5572:
-------------------------------------
Fix Version/s: 9.0.0.Alpha2
(was: 9.0.0.Alpha1)
> Exposed JMX MBeans should be separate components
> ------------------------------------------------
>
> Key: ISPN-5572
> URL: https://issues.jboss.org/browse/ISPN-5572
> Project: Infinispan
> Issue Type: Task
> Components: Core
> Affects Versions: 8.0.0.Alpha2, 7.2.3.Final
> Reporter: Dan Berindei
> Fix For: 9.0.0.Alpha2
>
>
> We currently expose internal components as JMX MBeans, and that makes our JMX "API" very unstructured. The exposed MBeans should be separate components, and the only concern in their interfaces should be ease of use.
> One example of JMX getting in the way of refactoring is {{CacheMgmtInterceptor}}. The interceptor chain is dynamic, so it should be possible to insert the interceptor only when statistics are enabled. But because the {{statisticsEnabled}} attribute is on the interceptor itself, that becomes a lot trickier, and we had to introduce a separate configuration attribute that disables statistics permanently (ISPN-5542).
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 8 months
[JBoss JIRA] (ISPN-5584) Support fine-grained write skew check for FineGrainedAtomicMap entries
by Vittorio Rigamonti (JIRA)
[ https://issues.jboss.org/browse/ISPN-5584?page=com.atlassian.jira.plugin.... ]
Vittorio Rigamonti updated ISPN-5584:
-------------------------------------
Fix Version/s: 9.0.0.Alpha2
(was: 9.0.0.Alpha1)
> Support fine-grained write skew check for FineGrainedAtomicMap entries
> ----------------------------------------------------------------------
>
> Key: ISPN-5584
> URL: https://issues.jboss.org/browse/ISPN-5584
> Project: Infinispan
> Issue Type: Feature Request
> Components: Core
> Affects Versions: 8.0.0.Alpha2, 7.2.3.Final
> Reporter: Dan Berindei
> Fix For: 9.0.0.Alpha2
>
>
> FineGrainedAtomicMap doesn't currently work with write skew check enabled.
> I was able to make it work by adding a special case for DeltaAwareCacheEntry in WriteSkewHelper, however the map has a single version, so the write skew check fails if any of the sub-keys were modified in parallel. With pessimistic locking, fine-grained maps allow the user to modify different sub-keys concurrently, we should allow the same with optimistic locking.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 8 months
[JBoss JIRA] (ISPN-5575) Shared write-behind store can read stale entries on joiner
by Vittorio Rigamonti (JIRA)
[ https://issues.jboss.org/browse/ISPN-5575?page=com.atlassian.jira.plugin.... ]
Vittorio Rigamonti updated ISPN-5575:
-------------------------------------
Fix Version/s: 9.0.0.Alpha2
(was: 9.0.0.Alpha1)
> Shared write-behind store can read stale entries on joiner
> ----------------------------------------------------------
>
> Key: ISPN-5575
> URL: https://issues.jboss.org/browse/ISPN-5575
> Project: Infinispan
> Issue Type: Bug
> Components: Core, Loaders and Stores
> Affects Versions: 8.0.0.Alpha2, 7.2.3.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Fix For: 9.0.0.Alpha2
>
>
> The AsyncCacheWriter modification queue is not sent with state transfer when the store is shared. A joiner can then read from the shared store a stale version of entries that have updates in the modification queue but are no longer in memory (because they were either removed explicitly, or evicted).
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 8 months
[JBoss JIRA] (ISPN-5521) Upgrade to Hibernate ORM 5.0.1.Final
by Vittorio Rigamonti (JIRA)
[ https://issues.jboss.org/browse/ISPN-5521?page=com.atlassian.jira.plugin.... ]
Vittorio Rigamonti updated ISPN-5521:
-------------------------------------
Fix Version/s: 9.0.0.Alpha2
(was: 9.0.0.Alpha1)
> Upgrade to Hibernate ORM 5.0.1.Final
> ------------------------------------
>
> Key: ISPN-5521
> URL: https://issues.jboss.org/browse/ISPN-5521
> Project: Infinispan
> Issue Type: Component Upgrade
> Components: Loaders and Stores
> Reporter: Sanne Grinovero
> Assignee: Tristan Tarrant
> Fix For: 9.0.0.Alpha2
>
>
> I'm opening this to make sure we keep Infinispan aligned with the other platforms, now moving to Hibernate 5.
> This affects at least the JPA CacheStore, I'm not sure if other components.
> Among many improvements, noticeable for Infinispan there is better OSGi support.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 8 months
[JBoss JIRA] (ISPN-5570) Cross-site: retry backup commands
by Vittorio Rigamonti (JIRA)
[ https://issues.jboss.org/browse/ISPN-5570?page=com.atlassian.jira.plugin.... ]
Vittorio Rigamonti updated ISPN-5570:
-------------------------------------
Fix Version/s: 9.0.0.Alpha2
(was: 9.0.0.Alpha1)
> Cross-site: retry backup commands
> ---------------------------------
>
> Key: ISPN-5570
> URL: https://issues.jboss.org/browse/ISPN-5570
> Project: Infinispan
> Issue Type: Bug
> Components: Core, Cross-Site Replication
> Affects Versions: 7.2.3.Final
> Reporter: Dan Berindei
> Fix For: 9.0.0.Alpha2
>
>
> There are 3 phases in a backup RPC:
> 1. Sender -> Local site master: caused by the site master is shutting down or crashing, or by a network split.
> 2. Local site master -> Remote site master:
> 2.1. Local site master is no longer a site master, e.g. because it's shutting down or because it's no longer coordinator after a merge.
> 2.2. Remote site master is not longer a site master.
> 2.3. Link between local site and remote site is down.
> 3. Remote site master -> Backup targets
> Replication failures in phase 3 are handled by retrying (except for TimeoutExceptions), because {{BaseBackupReceiver}} uses regular cache methods to perform the updates.
> But replication failures in phases 1 and 2 are not handled in any way, except for causing the remote site to be taken offline after a certain number of replication failures (if backup is synchronous). We should instead retry backup RPCs when we get a {{SuspectException}} or {{UnreachableException}}, and perhaps even when we get no response (2.2?), and only stop when the timeout expires or when the backup is taken offline.
> Async backup probably needs retrying as well, and perhaps even a more sophisticated approach like I-RAC (ISPN-2634).
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 8 months