[
https://issues.jboss.org/browse/WFLY-6412?page=com.atlassian.jira.plugin....
]
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@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)