[jboss-cvs] JBossAS SVN: r74224 - projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/en-US.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Jun 6 01:39:44 EDT 2008


Author: irooskov at redhat.com
Date: 2008-06-06 01:39:44 -0400 (Fri, 06 Jun 2008)
New Revision: 74224

Modified:
   projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/en-US/Architecture_of_the_Recovery_Manager.xml
   projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/en-US/Author_Group.xml
   projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/en-US/Book_Info.xml
Log:
1st of 2 chapters of Failure Recovery Guide is completed, 2nd is a third of the size of the first. Updated Book_Info and Author_Group with correct data.


Modified: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/en-US/Architecture_of_the_Recovery_Manager.xml
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/en-US/Architecture_of_the_Recovery_Manager.xml	2008-06-06 04:53:22 UTC (rev 74223)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/en-US/Architecture_of_the_Recovery_Manager.xml	2008-06-06 05:39:44 UTC (rev 74224)
@@ -674,6 +674,70 @@
 		<para>
 			When the Recovery Manager initialises an expiry scanner thread ExpiryEntryMonitor is created which is used to remove long dead items from the ObjectStore. A number of scanner modules are dynamically loaded which remove long dead items for a particular type.
 		</para>
+		<para>
+			Scanner modules are loaded at initialisation and are specified as properties beginning with
+		</para>
+<screen>com.arjuna.ats.arjuna.recovery.expiryScanner&lt;Scanner Name&gt;=&lt;Scanner Class&gt;
+</screen>
+		<para>
+			All the scanner modules are called periodically to scan for dead items by the ExpiryEntryMonitor thread. This period is set with the property:
+		</para>
+<screen>
+com.arjuna.ats.arjuna.recovery.expiryScanInterval
+</screen>
+		<para>
+			All scanners inherit the same behaviour from the java interface <interfacename>ExpiryScanner</interfacename> as illustrated in diagram below:
+		</para>
+		<mediaobject>
+			<imageobject>
+				<imagedata fileref="images/ExpiryScanner.png" format="PNG" />
+			</imageobject>
+		</mediaobject>
+		<para>
+			A scan method is provided by this interface and implemented by all scanner modules, this is the method that gets called by the scanner thread.
+		</para>
+		<para>
+			The ExpiredTransactionStatusManagerScanner removes long dead TransactionStatusManagerItems from the Object Store. These items will remain in the Object Store for a period of time before they are deleted. This time is set by the property:
+		</para>
+<screen>
+	com.arjuna.ats.arjuna.recovery.transactionStatusManagerExpiryTime
+</screen>
+		<para>
+			(default 12 hours)
+		</para>
 	</section>
+	<section id="sect-Transactions_Failure_Recovery_Guide-Architecture_of_the_Recovery_Manager-Application_Process">
+		<title>Application Process</title>
+			<para>
+				This represents the user transactional program. A Local transaction (hash) table, maintained within the running application process keeps trace of the current status of all transactions created by that  application process, The Recovery Manager needs access to the transaction tables so that it can determine whether a transaction is still in progress, if so then recovery does not happen.
+			</para>
+			<para>
+				The transaction tables are accessed via the TransactionStatusManager object. On application program initialisation the host/port pair that represents the TransactionStatusManager is written to the Object Store in '../Recovery/TransactionStatusManager’ part of the Object Store file hierarchy and identified by the process Uid of the application process.
+			</para>
+			<para>
+				The Recovery Manager uses the TransactionStatusConnectionManager object to retrieve the status of a transaction and a TransactionStatusConnector object is used to make a TCP connection to the TransactionStatusManager.
+			</para>
+	</section>
+	<section id="sect-Transactions_Failure_Recovery_Guide-Architecture_of_the_Recovery_Manager-TransactionStatusManager">
+		<title>TransactionStatusManager</title>
+		<para>
+			This object acts as an interface for the Recovery Manager to obtain the status of transactions from running HPTS application processes. One TransactionStatusManager is created per application process by the class com.arjuna.ats.arjuna.coordinator.InitAction. Currently a tcp connection is used for communication between the RecoveryManager and TransactionStatusManager. Any free port is used by the TransactionStatusManager by default, however the port can be fixed with the property:
+		</para>
+<screen>
+com.arjuna.ats.arjuna.recovery.transactionStatusManagerPort
+</screen>
+		<para>
+			On creation the TransactionStatusManager obtains a port which it stores with the host in the Object Store as a TransactionStatusManagerItem. A Listener thread is started which waits for a connection request from a TransactionStatusConnector. When a connection is established a Connection thread is created which runs a Service (AtomicActionStatusService)  which accepts a transaction Uid and a transaction type (if available) from a TransactionStatusConnector, the transaction status is obtained from the local thransaction table and returned back to the TransactionStatusConnector.
+		</para>
+	</section>
+	<section id="sect-Transactions_Failure_Recovery_Guide-Architecture_of_the_Recovery_Manager-Object_Store">
+		<title>Object Store</title>
+		<para>
+			All objects are stored in a file path which is equivalent to their class inheritance. Thus AtomicAction transactions are stored in file path ../StateManager/BasicAction/AtomicAction.
+		</para>
+		<para>
+			All objects are identified by a unique identifier Uid. One of the values of which is a process id in which the object was created. The Recovery Manager uses the process id to locate transaction status manager items when contacting the originator application process for the transaction status.
+		</para>
+	</section>
 </chapter>
 

Modified: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/en-US/Author_Group.xml
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/en-US/Author_Group.xml	2008-06-06 04:53:22 UTC (rev 74223)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/en-US/Author_Group.xml	2008-06-06 05:39:44 UTC (rev 74224)
@@ -4,16 +4,7 @@
 
 <authorgroup>
 	<corpauthor>
-		FF0000 Headgear Documentation Group
+		Red Hat Documentation Group
 	</corpauthor>
-	<author>
-		<firstname>Dude</firstname>
-		<surname>McDude</surname>
-		<affiliation>
-			<orgname>My Org</orgname>
-			<orgdiv>Best Div in the place</orgdiv>
-		</affiliation>
-		<email>dude.mcdude at myorg.org</email>
-	</author>
 </authorgroup>
 

Modified: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/en-US/Book_Info.xml
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/en-US/Book_Info.xml	2008-06-06 04:53:22 UTC (rev 74223)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/en-US/Book_Info.xml	2008-06-06 05:39:44 UTC (rev 74224)
@@ -8,8 +8,7 @@
 	<issuenum>0.1</issuenum>
 	<productnumber>0</productnumber>
 	<abstract>
-		<para>This book is about... (Be brief; this para is used for the RPM spec
-file)</para></abstract>
+		<para>This book is the Enterprise Application Platform edition of the JBoss Transactions Failure Recovery Guide</para></abstract>
 	<corpauthor>
 		<inlinemediaobject>
 			<imageobject>




More information about the jboss-cvs-commits mailing list