Closed glassfishrobot closed 12 years ago
@glassfishrobot Commented sherryshen said: The test source is at appserver-sqe/pe/transaction/recovery/cliapp3
Please refer TX_02L for test case description http://agni-1.us.oracle.com/asqe-logs/export1/3.1/docs/sqe/txn/GF31TXRecoveryTestSpec.html
For the same test application, the test passed with tx log at file system, but failed with tx log at database.
From server.log for failed case, "NameNotFoundException: jdbc" is shown in all 3 instances.
http://sqe-hudson.us.oracle.com:8080/hudson/job/sherry-tx-lc-dbg/25/artifact/server_in1.log
[#|2011-11-21T15:24:45.483-0800|SEVERE|glassfish3.1.2|javax.enterprise.system.core.transaction.com.sun.jts.CosTransactions|_ThreadID=18;_ThreadName=Thread-2;|JTS5070: Exception occurred while obtaining JDBC resource [jdbc/nontx] for transaction log.|#]
[#|2011-11-21T15:24:45.484-0800|SEVERE|glassfish3.1.2|javax.enterprise.system.core.transaction.com.sun.jts.CosTransactions|_ThreadID=18;_ThreadName=Thread-2;|javax.naming.NamingException: Lookup failed for 'jdbc/nontx' in SerialContext[myEnv=
{java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming}
[Root exception is javax.naming.NameNotFoundException: jdbc]
at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:518)
at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at com.sun.jts.CosTransactions.LogDBHelper.
| #] |
@glassfishrobot Commented sherryshen said: Raise to P2 since all tx recovery tests with dblog failed on b12.
The failure of app with jdbc and jms is not intermittent. For example, auto-delegated recovery with dblog in appserver-sqe/pe/transaction/recovery/cliapp3 it passed on b10, but failed on b11 multiple times.
The intermittent failure is observed on app with jdbc only. For example, auto-delegated recovery with dblog in appserver-sqe/pe/transaction/recovery/cliweb5 When it fails, the similar ex is shown.
[#|2011-11-29T19:00:19.045-0800|SEVERE|glassfish3.1.2|javax.enterprise.resource.resourceadapter.com.sun.enterprise.resource.recovery| _ThreadID=18;_ThreadName=Thread-2;|RAR7109: Error while loading jdbc resources during recovery : jdbc/nontx|#]
[#|2011-11-29T19:00:19.049-0800|INFO|glassfish3.1.2|javax.enterprise.system.core.transaction.com.sun.jts.CosTransactions| _ThreadID=18;_ThreadName=Thread-2;|JTS5014: Recoverable JTS instance, serverId = [100]|#]
[#|2011-11-29T19:00:19.059-0800|SEVERE|glassfish3.1.2|javax.enterprise.system.core.transaction.com.sun.jts.CosTransactions| _ThreadID=19;_ThreadName=Thread-2;|JTS5070: Exception occurred while obtaining JDBC resource [jdbc/nontx] for transaction log.|#]
[#|2011-11-29T19:00:19.060-0800|SEVERE|glassfish3.1.2|javax.enterprise.system.core.transaction.com.sun.jts.CosTransactions| _ThreadID=19;_ThreadName=Thread-2;|javax.naming.NamingException: Lookup failed for 'jdbc/nontx' in SerialContext[myEnv=
{java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming}
[Root exception is javax.naming.NameNotFoundException: jdbc]
at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:518)
at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at com.sun.jts.CosTransactions.LogDBHelper.
| #] |
@glassfishrobot Commented sherryshen said: From RE build log for #111 (Dec 1, 2011 1:01:10 AM) 51214. Fix for #17789 - Start ResourceManager if it hadn't started yet at the time of autorecovery on startup — mvatkina / detail
I ran tx recovery tests with using tx db log to verify the fix on above nightly build. The second part of the problem (intermittent failure with jdbc app) was resolved. The original part of the problem (non-intermittent failure with jdbc/jms app) was not resolved.
http://sqe-hudson.us.oracle.com:8080/hudson/view/Sherry_core/job/sherry-tx/
@glassfishrobot Commented mvatkina said: Which hudson job failed for jdbc/jms after the above change? The latest job in http://sqe-hudson.us.oracle.com:8080/hudson/job/sherry-tx-lc-dbg was Nov 29.
@glassfishrobot Commented mvatkina said: This is a completely different failure. Can you rerun cliweb3 separately on the latest build?
@glassfishrobot Commented sherryshen said: b13-12_04_2011 1) 1 test with dblog and debug message http://sqe-hudson.us.oracle.com:8080/hudson/job/sherry-tx-lc-dbg/ run 34 auto-delegated recovery failed in cliapp3
Debug in client out shows the content of TXN_LOG_TABLE http://sqe-hudson.us.oracle.com:8080/hudson/job/sherry-tx-lc-dbg/34/console
[sql] LOCALTID,SERVERNAME,INSTANCENAME,GTRID [sql] 0,apg-sqe2,clustered_instance_2,P100,clustered_instance_2,null [sql] 0,apg-sqe2,clustered_instance_1,P100,clustered_instance_1,null [sql] 0,apg-sqe2,clustered_instance_3,P100,clustered_instance_3,null [sql] 2,apg-sqe2,clustered_instance_2,P43700,clustered_instance_2,020000002ca87b106170672d737165322c636c757374657265645f696e7374616e63655f322c503433373030 [sql]
server.log has info message about transaction logging http://sqe-hudson.us.oracle.com:8080/hudson/job/sherry-tx-lc-dbg/34/artifact/server_in1.log [#|2011-12-05T15:07:05.142-0800|INFO|glassfish3.1.2|javax.enterprise.system.core.transaction.com.sun.jts.CosTransactions| _ThreadID=18;_ThreadName=Thread-2;|JTS5078: Did not create table for transaction logging on this instance. If the table did not exist and was expected to be created by this instance, use FINE log level to see the details of the error.|#]
2) more tests with creating dblog once at top level. http://sqe-hudson.us.oracle.com:8080/hudson/job/sherry-tx-lc-dbg/ run 33 auto-delegated recovery with jdbc passed in cliweb3 auto-delegated recovery with jdbc/jms failed in cliapp3 cli-self recovery with jdbc/jms passed in cliapp2 auto-self recovery with jdbc/jms passed in cliapp2
@glassfishrobot Commented mvatkina said: Fixed with revs 51214 (Start ResourceManager if it hadn't started yet at the time of autorecovery on startup), 51321 (logging), 51326 (Create a marker record only when XA transaction accesses LogDBHelper), 51339 (Add marker record to the table from CurrentImpl.begin(timeout))
@glassfishrobot Commented Was assigned to mvatkina
@glassfishrobot Commented This issue was imported from java.net JIRA GLASSFISH-17789
@glassfishrobot Commented Reported by sherryshen
@glassfishrobot Commented Marked as fixed on Friday, December 9th 2011, 1:22:05 pm
ogs-3.1.2-b11-11_21_2011.zip auto-delegated recovery failed with jdbc/jms app The same test passed on ogs-3.1.2-b10.zip
Environment
RHL 5 and JDK 1.6.0_24
Affected Versions
[3.1.2]