[JBoss JIRA] Updated: (JBCLUSTER-86) Web container lacks cluster replication of application scope
by Ben Wang (JIRA)
[ http://jira.jboss.com/jira/browse/JBCLUSTER-86?page=all ]
Ben Wang updated JBCLUSTER-86:
------------------------------
Assignee: Brian Stansberry (was: Ben Wang)
> Web container lacks cluster replication of application scope
> ------------------------------------------------------------
>
> Key: JBCLUSTER-86
> URL: http://jira.jboss.com/jira/browse/JBCLUSTER-86
> Project: JBoss Clustering
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Affects Versions: Q2Y5
> Reporter: treespace
> Assigned To: Brian Stansberry
> Fix For: Q2Y7
>
>
> Replication of servlet contexts (a.k.a. appliction scope) are not supported by the servlet specification. That is an important fact that needs to be emphased in cluster related documentation. Applications need to be cluster-aware at some level so this is just another design issue that needs to be accomodated.
> An extra-specification feature to cluster the servlet context would be peachy. Generalizing a shared object that hides the underlying cache implementation could provide a more portable alternative:
> getServletContext().getAttribute(MAGIC_BEAN).setAttribute("myBroadcastMessage", "All your servlet contexts are belong to us!");
> To port the application you would need a port of the MAGIC_BEAN class to use whatever clustering facilities are available on the target platform.
--
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
19 years, 2 months
[JBoss JIRA] Created: (JBCACHE-915) PojoCache will rollback concurrent transaction using optimistic locking
by Ben Wang (JIRA)
PojoCache will rollback concurrent transaction using optimistic locking
-----------------------------------------------------------------------
Key: JBCACHE-915
URL: http://jira.jboss.com/jira/browse/JBCACHE-915
Project: JBoss Cache
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: PojoCache
Reporter: Ben Wang
Assigned To: Ben Wang
Fix For: 2.0.0.GA
This is reported in the forum. Concurrent tx on any pojocache pojo will cause rollback under ALPHA1 release. This is clearly a drawback in the combination of PojoCache and optimistic locking becuase we create a new node under "_JBOSS_INTERNAL__" each time a pojo is created.
Partial get around is to use Cache.getRegion() api as in this code snippet:
String configFile = "META-INF/local-service.xml";
boolean toStart = false;
cache_ = PojoCacheFactory.createCache(configFile, toStart);
cache_.start();
cache_.getCache().getRegion(Fqn.fromString(REGION), true);
This will trigger a region creation and subsquent pojocache operation under that region will be placed separately.
--
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
19 years, 2 months
[JBoss JIRA] Updated: (JBCACHE-687) PojoCache to use aop 2.0 to bind interceptor dynamically
by Ben Wang (JIRA)
[ http://jira.jboss.com/jira/browse/JBCACHE-687?page=all ]
Ben Wang updated JBCACHE-687:
-----------------------------
Fix Version/s: 2.1.0.GA
(was: 2.0.0.GA)
> PojoCache to use aop 2.0 to bind interceptor dynamically
> --------------------------------------------------------
>
> Key: JBCACHE-687
> URL: http://jira.jboss.com/jira/browse/JBCACHE-687
> Project: JBoss Cache
> Issue Type: Task
> Security Level: Public(Everyone can see)
> Components: PojoCache
> Reporter: Ben Wang
> Assigned To: Ben Wang
> Fix For: 2.1.0.GA
>
> Original Estimate: 1 day
> Remaining Estimate: 1 day
>
> Currently in 2.0, I am introducing new field level interceptos such as SubjectInterceptor to emit the field events. However, make "introduction" to a POJO with a Subject interface also has the side effect of the interceptor will bind to that method jointpoint as well. This is not desirable.
> Workaround is to check for MehtodInvocation is each field level interceptor or in AOP2.0, we can bind specifically to the Pointcut programmtically as discussed in the forum post.
--
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
19 years, 2 months
[JBoss JIRA] Updated: (JBCACHE-658) Fast locking for mostly-read PojoCache
by Ben Wang (JIRA)
[ http://jira.jboss.com/jira/browse/JBCACHE-658?page=all ]
Ben Wang updated JBCACHE-658:
-----------------------------
Fix Version/s: 2.1.0.GA
(was: 2.0.0.GA)
> Fast locking for mostly-read PojoCache
> --------------------------------------
>
> Key: JBCACHE-658
> URL: http://jira.jboss.com/jira/browse/JBCACHE-658
> Project: JBoss Cache
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Components: PojoCache
> Reporter: Nitzan Niv
> Assigned To: Ben Wang
> Fix For: 2.1.0.GA
>
>
> The locking mechanism locks all the nodes in the path from the tree root to the modified node. If the cache contains a deep hierarchy of nodes (e.g., PojoCache that contains complex objects) and the usage of the cache
> is mostly-read the locking overhead is unnecessarilly large.
> To enable REPEATABLE_READ isolation level with minimal overhead (but with reduced update parallelism) just the tree root should be locked instead of the nodes-path. To define this policy as a new isloation level ("single"):
> Change in PessimisticLockInterceptor (line 199):
> else {
> if(isolation_level == IsolationLevel.SINGLE) {//XXX
> if (i == 0) {
> acquired=child_node.acquire(owner, lock_timeout, lock_type);
> }
> } else {
> if(lock_type == DataNode.LOCK_TYPE_WRITE && i == (treeNodeSize - 1)) {
> acquired=child_node.acquire(owner, lock_timeout, DataNode.LOCK_TYPE_WRITE);
> }
> else {
> acquired=child_node.acquire(owner, lock_timeout, DataNode.LOCK_TYPE_READ);
> }
> }//XXX
> }
> in LockStrategyFactory.java:
> if (lockingLevel == IsolationLevel.REPEATABLE_READ || lockingLevel == IsolationLevel.SINGLE) //XXX
> return new LockStrategyRepeatableRead();
> and add the "SINGLE" isolation level to IsolationLevel.java.
--
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
19 years, 2 months