[JBoss JIRA] (ISPN-1731) Threads waiting for key locks should not block state transfer
by Dan Berindei (JIRA)
Dan Berindei created ISPN-1731:
----------------------------------
Summary: Threads waiting for key locks should not block state transfer
Key: ISPN-1731
URL: https://issues.jboss.org/browse/ISPN-1731
Project: Infinispan
Issue Type: Task
Components: State transfer
Affects Versions: 5.1.0.CR3, 5.0.1.FINAL
Reporter: Dan Berindei
Assignee: Dan Berindei
Fix For: 5.2.0.FINAL
A write/lock command holds the state transfer lock for its entire duration, including while waiting to acquire key locks. Because of this, we can get a deadlock scenario:
1. Tx1 waits for key k1 while holding the state transfer lock
2. State transfer waits for Tx1 while blocking new write commands
3. Tx2 waits for state transfer to end while holding the k1 lock
The only way out of this scenario at the moment is for Tx1 to time out and fail to acquire the lock. We should make it possible to release the state transfer lock temporarily and return to waiting for the key lock after state transfer has ended.
ISPN-1424 might make this issue obsolete.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 11 months
[JBoss JIRA] Created: (ISPN-1263) Allow a type safe selection of the cache used by the JCache interceptors
by Kevin Pollet (JIRA)
Allow a type safe selection of the cache used by the JCache interceptors
------------------------------------------------------------------------
Key: ISPN-1263
URL: https://issues.jboss.org/browse/ISPN-1263
Project: Infinispan
Issue Type: Feature Request
Components: CDI integration
Reporter: Kevin Pollet
Assignee: Kevin Pollet
Priority: Minor
Currently the name of the cache which will be used by the JCache interceptors has to be specified in JCache annotations (e.g {{@CacheResult(cacheName="greeting-cache"}}).
This can be error prone (typo, refactoring ...). The CDI integration module provides the possibility to associate a qualifier to a cache. This qualifier could be re-used to provide a type safe selection of the cache used by a JCache interceptor. Something like:
{code}
public class GreetingService {
@CacheResult @GreetingCache
public String greet(String name) {
return "Hello" + name;
}
}
{code}
Here we need to be in sync with JCache specification. In my understanding of the spec the cache name is required for {{@CacheRemoveEntry}} and {{@CacheRemoveAll}} (but currently in the API there is a default value). For {{@CacheResult}} if no cache name is defined a default one is used.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 11 months
[JBoss JIRA] (ISPN-1491) Provide methods to retrieve the CacheKey parameters
by Kevin Pollet (Created) (JIRA)
Provide methods to retrieve the CacheKey parameters
---------------------------------------------------
Key: ISPN-1491
URL: https://issues.jboss.org/browse/ISPN-1491
Project: Infinispan
Issue Type: Enhancement
Components: CDI integration
Reporter: Kevin Pollet
Assignee: Kevin Pollet
Fix For: 5.1.0.BETA4, 5.1.0.FINAL
Currently, it's not possible to retrieve the parameter values composing the {{CacheKey}} (generated by JCache interceptors). For that, we could introduce two interfaces.
* {{SimpleCacheKey<T>}} used when only one parameter is used as key. This interface could add the following method {{T getValue()}}
* {{ComposedCacheKey}} used when the key is composed by more than one parameter. This interface could add the following method {{Object[] getValues()}}
Here, we need to ensure that we are compliant with the specification.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 11 months