[jboss-jira] [JBoss JIRA] (WFLY-6412) Timer fails if transaction isolation set to SERIALIZABLE on Oracle 11g
Anton Skolznev (JIRA)
issues at jboss.org
Tue Apr 3 05:01:00 EDT 2018
[ https://issues.jboss.org/browse/WFLY-6412?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13554822#comment-13554822 ]
Anton Skolznev commented on WFLY-6412:
--------------------------------------
I'm facing the same problem on 11.0.0.Final running on Oracle 12c:
2018-04-03 07:14:13,199 ERROR [org.jboss.as.ejb3.timer] (EJB default - 2) WFLYEJB0164: Exception running timer task for timer [id=f82cc1e5-544d-4720-8548-52f8d513fa86 timedObjectId=maxoptra.gt-services.PlanFactTimer auto-timer?:false persistent?:true timerService=org.jboss.as.ejb3.timerservice.TimerServiceImpl at 21529634 initialExpiration=Tue Apr 03 07:07:12 UTC 2018 intervalDuration(in milli sec)=60000 nextExpiration=Tue Apr 03 07:15:12 UTC 2018 timerState=ACTIVE info=null] on EJB maxoptra.gt-services.PlanFactTimer: java.lang.RuntimeException: java.lang.RuntimeException: java.sql.SQLException: ORA-08177: can't serialize access for this transaction
at org.jboss.as.ejb3.timerservice.TimerServiceImpl.persistTimer(TimerServiceImpl.java:615)
at org.jboss.as.ejb3.timerservice.TimerTask.postTimeoutProcessing(TimerTask.java:255)
at org.jboss.as.ejb3.timerservice.TimerTask.run(TimerTask.java:175)
at org.jboss.as.ejb3.timerservice.TimerServiceImpl$Task$1.run(TimerServiceImpl.java:1220)
at org.wildfly.extension.requestcontroller.RequestController$QueuedTask$1.run(RequestController.java:497)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
at org.jboss.threads.JBossThread.run(JBossThread.java:320)
Caused by: java.lang.RuntimeException: java.sql.SQLException: ORA-08177: can't serialize access for this transaction
at org.jboss.as.ejb3.timerservice.persistence.database.DatabaseTimerPersistence.persistTimer(DatabaseTimerPersistence.java:378)
at org.jboss.as.ejb3.timerservice.TimerServiceImpl.persistTimer(TimerServiceImpl.java:610)
... 8 more
I have two servers running in cluster. When i set transaction isolation level to READ_COMMITTED instead of TRANSACTION_SERIALIZABLE, i get the following error during the deploy:
2018-04-03 08:48:36,024 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
("subsystem" => "datasources"),
("data-source" => "ejb-timers")
]) - failure description: {"WFLYCTL0080: Failed services" => {"org.wildfly.data-source.ejb-timers" => "WFLYJCA0033: Error during the deployment of ejb-timers
Caused by: org.jboss.msc.service.StartException in anonymous service: WFLYJCA0032: Unable to start the ds because it generated more than one cf"}}
2018-04-03 08:48:36,057 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
("subsystem" => "datasources"),
("data-source" => "ejb-timers")
]) - failure description: {"WFLYCTL0080: Failed services" => {"org.wildfly.data-source.ejb-timers" => "WFLYJCA0033: Error during the deployment of ejb-timers
Caused by: org.jboss.msc.service.StartException in anonymous service: WFLYJCA0032: Unable to start the ds because it generated more than one cf"}}
> Timer fails if transaction isolation set to SERIALIZABLE on Oracle 11g
> ----------------------------------------------------------------------
>
> Key: WFLY-6412
> URL: https://issues.jboss.org/browse/WFLY-6412
> Project: WildFly
> Issue Type: Bug
> Components: EJB
> Affects Versions: 8.2.0.Final, 10.0.0.Final
> Environment: Linux, JDK8, Oracle DB 11g
> Reporter: Gábor Péntek
> Assignee: Stuart Douglas
> Fix For: 11.0.0.Alpha1
>
>
> If the transaction isolation level is set to SERIALIZABLE if one node aquires the row lock via the
> UPDATE JBOSS_EJB_TIMER..
> the other nodes throw an
> ORA-08177: can't serialize access for this transaction
> exception.
> The timer thats row threw the exception never runs any more, not even in case the other nodes were shut down.
> The serialization exception is also thrown upon server/application startup sometimes.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
More information about the jboss-jira
mailing list