Managing Transactions on JBoss EAP Red Hat JBoss Enterprise Application Platform 7.4 Instructions and information for administrators to troubleshoot Red Hat JBoss Enterprise Application Platform transactions. Red Hat Customer Content Services

Commands:
<system-properties> <property name="RecoveryEnvironmentBean.periodicRecoveryPeriod" value="180"/> <property name="RecoveryEnvironmentBean.recoveryBackoffPeriod" value="20"/> <property name="RecoveryEnvironmentBean.periodicRecoveryInitilizationOffset" value="5"/> <property name="RecoveryEnvironmentBean.expiryScanInterval" value="24"/> </system-properties>
/subsystem=datasources/data-source= DATASOURCE_NAME :write-attribute(name=jta,value=true)
reload
/profile=full/subsystem=iiop-openjdk:write-attribute(name=security,value=identity)
/profile=full/subsystem=iiop-openjdk:write-attribute(name=transactions, value=full)
/profile=full/subsystem=transactions:write-attribute(name=jts,value=true)
/profile=default/subsystem=transactions/log-store=log-store:probe
ls /profile=default/subsystem=transactions/log-store=log-store/transactions
/host=master/server=server-one/subsystem=transactions/log-store=log-store:read-children-names(child-type=transactions)
/profile=default/subsystem=transactions/log-store=log-store/transactions=0\:ffff7f000001\:-b66efc2\:4f9e6f8f\:9:read-resource
/profile=default/subsystem=transactions/log-store=log-store/transactions=0\:ffff7f000001\:-b66efc2\:4f9e6f8f\:9/participants=java\:\/JmsXA:read-resource
{ "outcome" => "success", "result" => { "eis-product-name" => "ActiveMQ", "eis-product-version" => "2.0", "jndi-name" => "java:/JmsXA", "status" => "HEURISTIC", "type" => "/StateManager/AbstractRecord/XAResourceRecord" } }
/profile=default/subsystem=transactions/log-store=log-store:write-attribute(name=expose-all-logs, value=true)
/host=master/server=server-one/subsystem=transactions/log-store=log-store/transactions=0\:ffff7f000001\:-b66efc2\:4f9e6f8f\:9:read-children-names(child-type=participants)
/profile=default/subsystem=transactions/log-store=log-store/transactions=0\:ffff7f000001\:-b66efc2\:4f9e6f8f\:9:delete
/profile=default/subsystem=transactions/log-store=log-store/transactions=0\:ffff7f000001\:-b66efc2\:4f9e6f8f\:9/participants=2:recover
/profile=default/subsystem=transactions/log-store=log-store/transactions=0\:ffff7f000001\:-b66efc2\:4f9e6f8f\:9/participants=2:refresh
/subsystem=transactions:read-resource(include-runtime=true)
/subsystem=datasources/data-source=TransDS:write-attribute(name=jta, value=false)
/subsystem=transactions:write-attribute(name=jdbc-store-datasource, value=java:jboss/datasources/TransDS)
/subsystem=transactions:write-attribute(name=use-jdbc-store, value=true)
/subsystem=transactions:write-attribute(name=use-journal-store,value=true)
/profile=default/subsystem=logging/logger=com.arjuna:write-attribute(name=level,value= VALUE )
/profile=<PROFILE NAME>/subsystem=logging/logger=org.jboss.jca:add(level=TRACE) /profile=<PROFILE NAME>/subsystem=logging/logger=org.jboss.as.connector:add(level=TRACE) /profile=<PROFILE NAME>/subsystem=logging/logger=com.arjuna:write-attribute(name=level,value=TRACE)
/subsystem=logging/logger=org.jboss.jca:add(level=TRACE) /subsystem=logging/logger=org.jboss.as.connector:add(level=TRACE) /subsystem=logging/logger=com.arjuna:write-attribute(name=level,value=TRACE)
/subsystem=logging/console-handler=CONSOLE:write-attribute(name=level,value=TRACE)
<logger category="com.arjuna"> <level name="TRACE"/> </logger> <logger category="org.jboss.jca"> <level name="TRACE"/> </logger> <logger category="org.jboss.as.connector"> <level name="TRACE"/> </logger>
/subsystem=logging/logger=org.jboss.jbossts.txbridge:add(level=ALL)
<logger category="org.jboss.jbossts.txbridge"> <level name="ALL" /> </logger>
/subsystem=logging/logger=com.arjuna:write-attribute(name=level,value=ALL)
<logger category="com.arjuna"> <level name="ALL" /> </logger>
com.arjuna.ats.jta.transaction.Transaction arjunaTM = (com.arjuna.ats.jta.transaction.Transaction)tx.getTransaction(); System.out.println("Transaction UID" +arjunaTM.get_uid());
// Transaction id Uid tx = new Uid(); . . . . TransactionStatusConnectionManager tscm = new TransactionStatusConnectionManager(); // Check if the transaction aborted assertEquals(tscm.getTransactionStatus(tx), ActionStatus.ABORTED);
EAP_HOME /bin/standalone.sh -DRecoveryEnvironmentBean.transactionStatusManagerPort= NETWORK_PORT_NUMBER
/subsystem=transactions:write-attribute(name=enable-statistics,value=true)
public class TxStats { /** * @return the number of transactions (top-level and nested) created so far. */ public static int numberOfTransactions(); /** * @return the number of nested (sub) transactions created so far. * public static int numberOfNestedTransactions(); /** * @return the number of transactions which have terminated with heuristic * outcomes. */ public static int numberOfHeuristics(); /** * @return the number of committed transactions. */ public static int numberOfCommittedTransactions(); /** * @return the total number of transactions which have rolled back. */ public static int numberOfAbortedTransactions(); /** * @return total number of inflight (active) transactions. */ public static int numberOfInflightTransactions (); /** * @return total number of transactions rolled back due to timeout. */ public static int numberOfTimedOutTransactions (); /** * @return the number of transactions rolled back by the application. */ public static int numberOfApplicationRollbacks (); /** * @return number of transactions rolled back by participants. */ public static int numberOfResourceRollbacks (); /** * Print the current information. */ public static void printStatus(java.io.PrintWriter pw); }
WARN ARJUNA012117 "TransactionReaper::check timeout for TX {0} in state {1} "
/subsystem=transactions:write-attribute(name=default-timeout,value= VALUE )
tar -cf logs.tar ./standalone/data/tx-object-store
tar -xf logs.tar -C NEW_EAP_HOME
cd USD EAP_HOME
cp docs/examples/configs/standalone-xts.xml standalone/configuration
bin/standalone.sh --server-config=standalone-xts.xml
bin\standalone.bat --server-config=standalone-xts.xml
EAP_HOME /bin/standalone.sh -DRecoveryEnvironmentBean.expiryScanners= CLASSNAME1 , CLASSNAME2
EAP_HOME /bin/standalone.sh -DRecoveryEnvironmentBean.expiryScanInterval= EXPIRY_SCAN_INTERVAL
EAP_HOME /bin/standalone.sh -DRecoveryEnvironmentBean.transactionStatusManagerExpiryTime= TRANSACTION_STATUS_MANAGER_EXPIRY_TIME
/subsystem=transactions/log-store=log-store/transactions=0\:ffff7f000001\:-b66efc2\:4f9e6f8f\:9/participants=2:read-resource
{ "outcome" => "success", "result" => { "eis-product-name" => "ArtemisMQ", "eis-product-version" => "2.0", "jndi-name" => "java:/JmsXA", "status" => "HEURISTIC_HAZARD", "type" => "/StateManager/AbstractRecord/XAResourceRecord" } }
/subsystem=transactions/log-store=log-store/transactions=0\:ffff7f000001\:-b66efc2\:4f9e6f8f\:9/participants=2:recover