[JBoss JIRA] Created: (JBTM-770) incorrect cleanup registration causes memory leak
by Jonathan Halliday (JIRA)
incorrect cleanup registration causes memory leak
-------------------------------------------------
Key: JBTM-770
URL: https://jira.jboss.org/browse/JBTM-770
Project: JBoss Transaction Manager
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: JTS
Affects Versions: 4.6.1.CP06, 4.12.0
Reporter: Jonathan Halliday
Assignee: Mark Little
Fix For: 4.13.0, 4.6.1.CP08
jts.TransactionImple constructors attempt to optimize the cleanup callback needed to remove entries from _transactions, bypassing the ORB for interposition scenarios:
theTx = (TwoPhaseCoordinator) BasicAction.Current();
if (theTx != null) {
theTx.addSynchronization(new LocalCleanupSynchronization(this));
} else {
registerSynchronization(new CleanupSynchronization(this));
}
Unfortunately this does not work and leads to memory leaks on _transactions in certain cases. Specifically, where theTx is a ServerTransaction (i.e. extends ArjunaTransactionImple, which extends TwoPhaseCoordinator), the callbacks run (by ArjunaTransactionImple.do[Before|After]Completion()) are those in ArjunaTransactionImple._syncs, not the masked ones in TwoPhaseCoordinator._syncs. Thus using TwoPhaseCoordinator.addSynchronization registers a callback which is never invoked.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 1 month
[JBoss JIRA] Created: (JBTM-852) Setting SettingVolatile store still creates an ObjectStore directory on the disk
by Mircea Markus (JIRA)
Setting SettingVolatile store still creates an ObjectStore directory on the disk
---------------------------------------------------------------------------------
Key: JBTM-852
URL: https://issues.jboss.org/browse/JBTM-852
Project: JBoss Transaction Manager
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Affects Versions: 4.15.0
Reporter: Mircea Markus
Priority: Minor
Even when configuring {code:java} arjPropertyManager.getObjectStoreEnvironmentBean().setObjectStoreType(VolatileStore.class.getName()) {code} an "ObjectStore" directory is created on the disk. After discussing with JTM team this doesn't cause any real problem in the sense that nothing is written to the disk, but this is annoying and might create confusion between the users.
A workaround would be to add the following configuration together with the previously mentioned one:
{code:java} BeanPopulator.getNamedInstance(ObjectStoreEnvironmentBean.class, "communicationStore").setObjectStoreType(VolatileStore.class.getName()) {code}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 1 month
[JBoss JIRA] Created: (JBTM-847) Look into how AssumedComplete works for ArjunaJTA (and jtax)
by Mark Little (JIRA)
Look into how AssumedComplete works for ArjunaJTA (and jtax)
------------------------------------------------------------
Key: JBTM-847
URL: https://issues.jboss.org/browse/JBTM-847
Project: JBoss Transaction Manager
Issue Type: Task
Security Level: Public (Everyone can see)
Components: JTA
Reporter: Mark Little
Assignee: Tom Jenkinson
When a transaction cannot be completed over a long period of time, a scanner is supposed to kick in and move the log elsewhere. Those scanners exist in ArjunaCore and ArjunaJTS, but do not appear to be there in ArjunaJTA. It should be straightforward to add them by using the base class in ArjunaCore, but investigate whether they are present already and just not obvious.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 1 month
[JBoss JIRA] Created: (JBTM-759) Errors in the Failure Recovery Guide
by Mauro Molinari (JIRA)
Errors in the Failure Recovery Guide
------------------------------------
Key: JBTM-759
URL: https://jira.jboss.org/browse/JBTM-759
Project: JBoss Transaction Manager
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Documentation
Reporter: Mauro Molinari
Priority: Minor
While reading the Failure Recovery Guide I found some errors:
- page 7: line 3 seems to be victim of an erroneous copy-and-paste
- page 11: line 3 of the pseudo code for the first pass of AtomicAction is not clear, since the vector has been just created and transactions are added to it within the same loop body...
- page 24: the chapter is named "Chapter 1", while it should be "Chapter 2"
- page 30: I think "Configuration options" should be "Chapter 3"; moreover, there's no warning about the fact that the table is deprecated (because it shows the configuration options with the old names).
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 1 month
[JBoss JIRA] Created: (JBTM-761) Errors in JBossTS JTA documentation
by Mauro Molinari (JIRA)
Errors in JBossTS JTA documentation
-----------------------------------
Key: JBTM-761
URL: https://jira.jboss.org/browse/JBTM-761
Project: JBoss Transaction Manager
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Documentation
Affects Versions: 4.11.0
Reporter: Mauro Molinari
Priority: Minor
While reading the JBossTS JTA documentation, I found the following problems:
Administration Guide:
- page 7: in the "ArjunaTA runtime information" chapter there's a typographic error ("<name>EnvironmentBean classes")
- page 8: in the "Configuring the Recovery Manager" chapter I think that "arjuna.properties" should rather be "jbossts-properties.xml"
Programmers Guide:
- page 8: in the last paragraph there's a repetition: "and contains also contains a mapping of the X/Open XA protocol"
- page 12: in the "Resource enlistment" chapter, second paragraph, there: "See [? missing reference?] for details on how the implementation of the XAResource can affect recovery..."
Moreover, all the chapters are numbered as "Chapter 1".
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 1 month
[JBoss JIRA] Created: (JBTM-758) Errors in documentation: Transaction Core Programmers Guide
by Mauro Molinari (JIRA)
Errors in documentation: Transaction Core Programmers Guide
-----------------------------------------------------------
Key: JBTM-758
URL: https://jira.jboss.org/browse/JBTM-758
Project: JBoss Transaction Manager
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Documentation
Affects Versions: 4.11.0
Reporter: Mauro Molinari
Priority: Minor
I'm going to highlight some errors I found during the reading of the Transaction Core Programmers Guide (TX-PG-5/11/10):
- page 31: when describing LogManager: "The *shared* parameter only has meaning if *ot* is RECOVERABLE"; actually the two parameters are named *objectModel* and *ObjectType* respectively in the caption of the paragraph
- page 36: in the example, I think the line with "A.add(new ShutdownRecord(...)" is not pertinent
- page 64: the last sentence says that the issues described in that paragraph will be addressed in the next section, but the next section is about configuration
- page 65: the second paragraph has some typographic problem (<module>propertyManager, <name>EnvironmentBean)
- page 69: in the second paragraph: "All of the implementations are derived from the ObjectStore interface"; actually, ObjectStore is a class to extend, not an interface to implement
Lastly, an observation about the depiction of finalizers as "destructors": in this guide, the finalize method is considered a destructor. However, in Java it is not actually. Anyway, it's not clear if calling terminate() in the finalize() is mandatory or not. If so, why isn't it called directly in com.arjuna.ats.arjuna.StateManager.finalize()? If not, I have another doubt. In all the examples of user classes (i.e. page 60) the finalize() is implemented as:
public void finalize()
{
super.terminate();
}
However, super.finalize() is not called. Isn't it risky? I mean, in this way the code in com.arjuna.ats.arjuna.StateManager.finalize() is never called... I think the documentation should be more clear on this subject.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 1 month