[JBoss JIRA] Updated: (JBCACHE-549) Override GET_ALL and timeout for synchronous requests
by Manik Surtani (JIRA)
[ http://jira.jboss.com/jira/browse/JBCACHE-549?page=all ]
Manik Surtani updated JBCACHE-549:
----------------------------------
Fix Version/s: 2.1.0.BETA1
> Override GET_ALL and timeout for synchronous requests
> -----------------------------------------------------
>
> Key: JBCACHE-549
> URL: http://jira.jboss.com/jira/browse/JBCACHE-549
> Project: JBoss Cache
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Affects Versions: 1.2, 1.2.1, 1.2.2, 1.2.3, 1.2.4beta, 1.3.0.GA, 1.2.4, 1.2.4SP1, 1.2.4SP2
> Reporter: Bela Ban
> Assigned To: Manik Surtani
> Fix For: 2.1.0.GA, 2.1.0.BETA1
>
>
> Currently, when executing a *synchronous* method call across a cluster, the caller has to wait until all recipients send the reply, so the default mode is always GroupRequest.GET_ALL. However, we should provide more options (possibly in an Option), e.g.
> - GET_ALL
> - GET_FIRST
> - GET_N (where N < number of recipients)
> - GET_MAJORITY
> We may also want to be able to set the timeout for the call in an Options parameter, and combine this with the mode.
> So Options (used e.g. by put(), remove() etc) should have additional parameters, and *use* them in the relevant interceptors
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 2 months
[JBoss JIRA] Created: (JBCACHE-910) TreeCache.createSubtreeRootNode(Fqn subtree) ugliness
by Elias Ross (JIRA)
TreeCache.createSubtreeRootNode(Fqn subtree) ugliness
-----------------------------------------------------
Key: JBCACHE-910
URL: http://jira.jboss.com/jira/browse/JBCACHE-910
Project: JBoss Cache
Issue Type: Bug
Security Level: Public (Everyone can see)
Reporter: Elias Ross
Assigned To: Manik Surtani
This method is called by the region manager.
There's a bunch of Voodoo taking place here, legacy bits mixed with some newer stuff.
One thing that strikes me as wrong already is this code:
child = factory.createDataNode(type, name,
subtree.getFqnChild(i + 1),
parent, lock_table, coordinator, null, this.rootSpi);
For some reason, it is passing the lock_table into the Node as the data to initialize the node with.
Somehow I think the right way to fix this would be to do a Cache.addChild(Fqn) call in RegionManager and remove this method.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 2 months
[JBoss JIRA] Created: (JBCACHE-1155) Invalidation with optimistic versioning could cause cache to write stale data
by Manik Surtani (JIRA)
Invalidation with optimistic versioning could cause cache to write stale data
-----------------------------------------------------------------------------
Key: JBCACHE-1155
URL: http://jira.jboss.com/jira/browse/JBCACHE-1155
Project: JBoss Cache
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Replication
Affects Versions: 1.4.1.GA, 1.4.0.GA, 2.0.0.GA
Reporter: Manik Surtani
Assigned To: Manik Surtani
Fix For: 2.1.0.GA
The root of the problem is that invalidation evicts remote nodes which may mean that remote nodes are removed completely, losing all historic versioning data
1) Svr 1 generates state for node (data version 1)
2) Svr 2 generates newer state for same node (data version 2)
3) Svr 2 commits (data version 2), invalidates state on cache 1
4) Svr 1 commits, and this is allowed to proceed since it seems cache 1 created this data new, and it does not exist in cache 1.
5) Svr 1 will attempt to invalidate this remotely, but this will fail - but it will still be applied locally.
6) Inconsistency!!!
Solution: Invalidation not to remove nodes, but evict nodes as though they had children (remove data maps and set dataInitialised to false), and (if optimistic) attach the version of the invalidation to the node.
Eviction to have, in addition to maxTTL, a minTTL as well so that nodes spend at least a certain amount of time in the cache even if scheduled for eviction since even if we have the above eviction may come along and remove the node altogether.
MinTTL to be configured to be greater than the max length of transactions.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 2 months