[jbossts-issues] [JBoss JIRA] (JBTM-2565) ConnectableResourceRecordRecoveryModule uses tooling iterator which does not report errors and can fail in WildFly

Tom Jenkinson (JIRA) issues at jboss.org
Thu Nov 19 09:37:00 EST 2015


     [ https://issues.jboss.org/browse/JBTM-2565?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tom Jenkinson updated JBTM-2565:
--------------------------------
    Steps to Reproduce:   (was: # Configure server to use jdbc object store (you can use the attached configuration)
##  copy attached {{standalone-full.xml}} to  {{$JBOSS_HOME/standalone/configuration}}
# Configure jdbc driver as module  - you can use attached jdbc module with oracle driver
## {{cd $JBOSS_HOME}}
## {{unzip jdbc-module.zip}}
# Start server
## {{./bin/standalone.sh -c standalone-full.xml}}
# Stop server by pressing CTRL+C immediatelly when you see message:  {{INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: EAP 7.0.0.Alpha1 (WildFly Core 2.0.0.CR8) started in 8432ms - Started 305 of 535 services (331 services are lazy, passive or on-demand)}}
## you need to stop the server during recovery is in process. you can also wait for recovery being run and then stop the server. the period for waiting for recovery could be change from default 2min by adding parameter {{./bin/standalone.sh -c standalone-full.xml -Dcom.arjuna.ats.arjuna.recovery.periodicRecoveryPeriod=30}})


> ConnectableResourceRecordRecoveryModule uses tooling iterator which does not report errors and can fail in WildFly
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: JBTM-2565
>                 URL: https://issues.jboss.org/browse/JBTM-2565
>             Project: JBoss Transaction Manager
>          Issue Type: Bug
>          Components: Transaction Core
>            Reporter: Tom Jenkinson
>            Assignee: Tom Jenkinson
>             Fix For: 5.next
>
>
> It happens to me that when using jdbc object store for transactions with driver loaded as a module then if I start server and stopped it right after the start is finished I can see error [1] and server stay stuck. I need to run {{kill -9}} to server finish.
> This seems to be connected with recovery processing. If I start server and not stopping it immediately after it was started then I do not experience this problem.
> But if leave server to run for some time and I decide to stop server at time when periodic recovery is in process (e.g. checking {{server.log}} activity by {{tail -F standalone/log/server.log}} then I experience the same problem.
> [1]
> {code}
> WARN  [com.arjuna.ats.arjuna] (Periodic Recovery) ARJUNA012251: allObjUids caught exception: java.lang.IllegalStateException
>   at org.jboss.msc.value.InjectedValue.getValue(InjectedValue.java:47)
>   at org.jboss.as.naming.service.DefaultNamespaceContextSelectorService$1.getContext(DefaultNamespaceContextSelectorService.java:56)
>   at org.jboss.as.naming.InitialContext$DefaultInitialContext.findContext(InitialContext.java:187)
>   at org.jboss.as.naming.InitialContext$DefaultInitialContext.lookup(InitialContext.java:233)
>   at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:193)
>   at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:189)
>   at javax.naming.InitialContext.lookup(InitialContext.java:417)
>   at javax.naming.InitialContext.lookup(InitialContext.java:417)
>   at com.arjuna.ats.internal.arjuna.objectstore.jdbc.accessors.DataSourceJDBCAccess.getConnection(DataSourceJDBCAccess.java:53)
>   at com.arjuna.ats.internal.arjuna.objectstore.jdbc.JDBCImple_driver.allObjUids(JDBCImple_driver.java:345)
>   at com.arjuna.ats.internal.arjuna.objectstore.jdbc.JDBCStore.allObjUids(JDBCStore.java:166)
>   at com.arjuna.ats.internal.arjuna.objectstore.jdbc.JDBCStore.allObjUids(JDBCStore.java:122)
>   at com.arjuna.ats.arjuna.objectstore.ObjectStoreIterator.<init>(ObjectStoreIterator.java:53)
>   at com.arjuna.ats.internal.jta.recovery.arjunacore.CommitMarkableResourceRecordRecoveryModule.periodicWorkFirstPass(CommitMarkableResourceRecordRecoveryModule.java:390)
>   at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:747)
>   at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:375)
> ERROR [stderr] (Periodic Recovery) Exception in thread "Periodic Recovery" java.lang.NullPointerException
> ERROR [stderr] (Periodic Recovery) 	at com.arjuna.ats.arjuna.recovery.TransactionStatusConnectionManager.getTransactionStatus(TransactionStatusConnectionManager.java:92)
> ERROR [stderr] (Periodic Recovery) 	at com.arjuna.ats.internal.jta.recovery.arjunacore.CommitMarkableResourceRecordRecoveryModule.periodicWorkFirstPass(CommitMarkableResourceRecordRecoveryModule.java:399)
> ERROR [stderr] (Periodic Recovery) 	at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:747)
> ERROR [stderr] (Periodic Recovery) 	at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:375)
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the jbossts-issues mailing list