[JBoss JIRA] Created: (EJBTHREE-882) StatefulTreeCache should abort passivation if bean tree is in use
by Brian Stansberry (JIRA)
StatefulTreeCache should abort passivation if bean tree is in use
-----------------------------------------------------------------
Key: EJBTHREE-882
URL: http://jira.jboss.com/jira/browse/EJBTHREE-882
Project: EJB 3.0
Issue Type: Task
Components: Clustering
Reporter: Brian Stansberry
Assigned To: Brian Stansberry
Fix For: EJB 3.0 RC10 - FD
Passivation of the parent context that holds nested beans should not occur if any of the beans are in use. The potential that child beans are in use while the parent is not increases the possibility that the passivation thread will attempt to passivate an in-use context.
To deal with this, StatefulTreeCache will listen for prePassivate events and check whether any bean in the context's tree is in use. If it is, a custom RuntimeException will be thrown in order to abort the passivation.
The cache will use a special LRUPolicy subclass that will recognize the custom exception and not log an error for it, just retrying the passivation on the next run of the eviction thread. (The standard LRUPolicy will retry, but will log an ERROR if an exception is caught. We don't want any error logged, as this is not an unexpected situation.)
--
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: (EJBTHREE-707) TreeCacheProviderHook.isMinimalPutsEnabledByDefault() wrong
by Owen Taylor (JIRA)
TreeCacheProviderHook.isMinimalPutsEnabledByDefault() wrong
-----------------------------------------------------------
Key: EJBTHREE-707
URL: http://jira.jboss.com/jira/browse/EJBTHREE-707
Project: EJB 3.0
Issue Type: Bug
Reporter: Owen Taylor
Priority: Minor
org.jboss.ejb3.entity.TreeCacheProviderHook.isMinimalPutsEnabledByDefault() returns false,
which means "don't check to see if values are in the cache before inserting them again", but
that's a very bad setting for the TreeCache
- It causes unnecessary replication between the nodes of a cluster
- It tends to cause lock conflicts because the transaction putting data
into the cache has to get a (briefly) get a write lock. There are hacky workarounds in the
hibernate TreeCache code not to deadlock in this code, but you still get log spew.
The TreeCacheProvider provided with Hibernate (no JMX integration) returns true
isMinimalPutsEnabledByDefault() as it should, so I think this is just an oversight.
You can of course easily work around the problem by setting the value explicitly in the
hibernate properties.
--
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: (JBAS-1313) RepositorySelector should be integrated into JBoss Server
by Tamas Cserveny (JIRA)
[ http://jira.jboss.com/jira/browse/JBAS-1313?page=all ]
Tamas Cserveny updated JBAS-1313:
---------------------------------
Attachment: log4j-test.sar
Attached a "test" service.
> RepositorySelector should be integrated into JBoss Server
> ---------------------------------------------------------
>
> Key: JBAS-1313
> URL: http://jira.jboss.com/jira/browse/JBAS-1313
> Project: JBoss Application Server
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Components: JMX
> Reporter: Stan Silvert
> Assigned To: Stan Silvert
> Priority: Minor
> Fix For: JBossAS-5.0.1.CR1
>
> Attachments: log4-rs.zip, log4j-test.sar, TestingLog4j.zip
>
>
> Often, an application will want to have its own log4j configuration and have all log messages generated go to an application-specific log file. Solutions to this problem are documented on this wiki page: http://www.jboss.org/wiki/Wiki.jsp?page=Logging
> The log4j RepositorySelector provides a clean solution to this problem without any special classloader settings. However, at the present time, a developer must create his own version of a RepositorySelector and make sure his application initializes it properly.
> This can be difficult to accomplish because the RepositorySelector feature is not well known and takes time to understand. It can also be difficult to make sure that the RepositorySelector is initialized before the application makes ANY call to Logger.getLogger().
> We can instead, provide a RepositorySelector implementation as part of the JBoss Application server. If a deployer finds a log4j.xml file in the /META-INF direcotry (or /WEB-INF for WARs) it would add an entry into the RepositorySelector for that application. Then, logging from that application would use the custom log4j configuration.
--
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