[JBoss JIRA] (ISPN-3969) Can't retrieve values from FineGrainedAtomicMap with "storeAsBinary" option enabled
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-3969?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant reassigned ISPN-3969:
-------------------------------------
Assignee: (was: Mircea Markus)
> Can't retrieve values from FineGrainedAtomicMap with "storeAsBinary" option enabled
> -----------------------------------------------------------------------------------
>
> Key: ISPN-3969
> URL: https://issues.jboss.org/browse/ISPN-3969
> Project: Infinispan
> Issue Type: Bug
> Affects Versions: 6.0.1.Final
> Reporter: Gunnar Morling
> Attachments: MarshallingTest.java
>
>
> When using the "storeAsBinary" option, a value added to a {{FineGrainedAtomicMap}} via {{put()}} can't be read back via {{get()}}:
> {code}
> Configuration configuration = new ConfigurationBuilder()
> .storeAsBinary()
> .enable()
> .transaction()
> .transactionMode(TransactionMode.TRANSACTIONAL )
> .transactionManagerLookup(new JBossStandaloneJTAManagerLookup() )
> .build();
> EmbeddedCacheManager manager = new DefaultCacheManager();
> manager.defineConfiguration( "testCache", configuration );
> manager.getCache( "testCache", true );
>
> CacheKey cacheKey = new CacheKey( "Some Key" );
> Object key = "the key";
> Object value = "the value";
> FineGrainedAtomicMap<Object, Object> map = AtomicMapLookup.getFineGrainedAtomicMap( cache, cacheKey, true );
> map.put( key, value );
> //fails
> assertNotNull( map.get( key ) );
> {code}
> See the attached file for a complete test case.
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 2 months
[JBoss JIRA] (ISPN-2916) Group-based expiration
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-2916?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant reassigned ISPN-2916:
-------------------------------------
Assignee: (was: Mircea Markus)
> Group-based expiration
> ----------------------
>
> Key: ISPN-2916
> URL: https://issues.jboss.org/browse/ISPN-2916
> Project: Infinispan
> Issue Type: Feature Request
> Components: Core
> Affects Versions: 5.2.5.Final
> Reporter: Paul Ferraro
>
> Now that WildFly represents a web session as a group of cache entries (instead of a single entry containing an atomic map), there are a few hurdles preventing us from leveraging infinispan-managed expiration.
> One of which is the fact that expiration of cache entries within a group *must* be atomic. It would be very bad if a request arrives for a session whose entries are in the process of being expired. The expiration thread should obtain a lock on *all* the keys for a group (or at least some pre-determined "primary" key), so that late session access doesn't result in session attributes mysteriously disappearing (because they were independently expired). This can also cause integrity constraint violations if cache entries reference other entries in the group. e.g. currently the "primary" cache entry for a session (keyed by session id), contains a set of attribute names. These names correspond to other cache entries that contain the value of a given attribute for that session.
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 2 months
[JBoss JIRA] (ISPN-3695) Atomic Object Factory
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-3695?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant reassigned ISPN-3695:
-------------------------------------
Assignee: (was: Mircea Markus)
> Atomic Object Factory
> ---------------------
>
> Key: ISPN-3695
> URL: https://issues.jboss.org/browse/ISPN-3695
> Project: Infinispan
> Issue Type: Feature Request
> Components: Core
> Affects Versions: 6.0.0.Final
> Reporter: Pierre Sutra
> Priority: Optional
> Labels: atomic
> Original Estimate: 1 week, 2 days
> Remaining Estimate: 1 week, 2 days
>
> This feature implements a factory of atomic objects. The factory is universal in the sense that it can instanciate an object of any class. Below, we illusrate the usage of such a factory.
> AtomicObjectFactory factory = new AtomicObjectFactory(c1); // c1 is both synchronous and transactional
> Set set = (Set) factory.getOrCreateInstanceOf(HashSet.class, "k"); // k is the key to store set inside c1
> set.add("smthing"); // some call examples
> System.out.println(set.toString())
> set.addAll(set);
> factory.disposeInstanceOf(HashSet.class, "set", true); // to store in a persistent way the object
> The implementation requires that all the arguments of the methods of the object are Serializable, as well as the object itself. The factory is built on top of the transactional facility of Infinispan. When an object is created, it stores both a local copy and a proxy registered as a cache listener. Then, it serializes every call in a transaction consisting of a single put operation. When the call is de-serialized its applied to the local copy and, in case the calling process was local, the return value is returned (this mechanism is implemented via a future object).
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 2 months
[JBoss JIRA] (ISPN-3897) Listener with @ViewChanged annotation for RemoteCacheManager.
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-3897?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant reassigned ISPN-3897:
-------------------------------------
Assignee: (was: Mircea Markus)
> Listener with @ViewChanged annotation for RemoteCacheManager.
> -------------------------------------------------------------
>
> Key: ISPN-3897
> URL: https://issues.jboss.org/browse/ISPN-3897
> Project: Infinispan
> Issue Type: Feature Request
> Components: Listeners
> Reporter: Tomas Tomas
> Priority: Optional
>
> Create Listener with @ViewChanged annotation for RemoteCacheManager.
> Similarly like it is done for embedded Infinispan. There is @ViewChanged annotation which can be used when cluster topology is changed.
> For remote cache:
> RemoteCacheManager cacheContainer = new RemoteCacheManager(resource, true);
> cacheManager.addListener(new CacheManagerListener());
> @Listener
> public class CacheManagerListener {
> @CacheStarted
> }
>
> @CacheStopped
> }
>
> @ViewChanged
> public void viewChanged(ViewChangedEvent event) {
> }
> }
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 2 months
[JBoss JIRA] (ISPN-4848) Offer way to implement includeCurrentState based on indexed query
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-4848?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant reassigned ISPN-4848:
-------------------------------------
Assignee: (was: Mircea Markus)
> Offer way to implement includeCurrentState based on indexed query
> -----------------------------------------------------------------
>
> Key: ISPN-4848
> URL: https://issues.jboss.org/browse/ISPN-4848
> Project: Infinispan
> Issue Type: Feature Request
> Reporter: Emmanuel Bernard
>
> Based on the infinispan-dev mailing list discussion from September 2014 titled
> 'Feedback and requests on clustered and remote listeners'.
> Loading the whole state of the data grid to then filter / convert them can be costly especially if data has been passivated.
> An alternative could be offered that would delegate the includeCurrentState filtering with a global indexed query. That query would need to be provided by the user. While the query is run, the list of change events matching should be piled up and released once the query has be run and the converted events are send to the clustered listener.
> Maybe that should be only done for "continuous" queries as we could use the query for both the initial and continuous side of the query transparently.
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 2 months
[JBoss JIRA] (ISPN-4282) Enhance DistributedEntryRetriever requests to not always pass segments
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-4282?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant reassigned ISPN-4282:
-------------------------------------
Assignee: (was: Mircea Markus)
> Enhance DistributedEntryRetriever requests to not always pass segments
> ----------------------------------------------------------------------
>
> Key: ISPN-4282
> URL: https://issues.jboss.org/browse/ISPN-4282
> Project: Infinispan
> Issue Type: Enhancement
> Reporter: William Burns
>
> Currently DistributedEntryRetriever always sends what segments it wants from the node. Instead we should have it not send any segments and have the node return what segments it was able to iterate on. Only after a rehash would we require requesting specific segments.
> This also may be optimized further by allowing for backup owner segments to be used. In this case only the first request would be without passing segments.
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 2 months