Bug 1461416

Summary: [GSS](6.4.z) Race condition if timers overlap due to long running execution and short schedules if database persistence is used
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: wfink
Component: EJBAssignee: wfink
Status: CLOSED CURRENTRELEASE QA Contact: Jiří Bílek <jbilek>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.4.14CC: bmaxwell, david.lloyd, fgavrilo, jbilek
Target Milestone: CR1   
Target Release: EAP 6.4.17   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-09-06 13:33:02 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1450092    

Description wfink 2017-06-14 12:15:35 UTC
If timers are running longer than scheduled, or the schedule/processing get stuck do to thread or cpu bottleneck, it is possible that the updates for persistence overlap.

The issue seems that the task(1) try to finish the timer and task(2) is about to start but see the concurrency.
The DB is updated with the 'old' next timeout, but the internal Timer instance will be updated with the next possible schedule due to a race condition between the two threads updating the object.

Comment 2 Jiří Bílek 2017-08-11 11:31:05 UTC
I am able to reproduce the issue with EAP 7.0.7 and 7.1.0.ER1. But I cannot hit it with 6.4.14 nor 6.4.16. Seems like 6.4.z is not affected.

Verified with EAP 6.4.17.CP.CR4

Comment 3 Petr Penicka 2017-09-06 13:33:02 UTC
Released on 2017-09-05 as part of the EAP 6.4.17 release.