Bug 1461416 - [GSS](6.4.z) Race condition if timers overlap due to long running execution and short schedules if database persistence is used
Summary: [GSS](6.4.z) Race condition if timers overlap due to long running execution a...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss Enterprise Application Platform 6
Classification: JBoss
Component: EJB
Version: 6.4.14
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: CR1
: EAP 6.4.17
Assignee: wfink
QA Contact: Jiří Bílek
URL:
Whiteboard:
Depends On:
Blocks: eap6417-payload
TreeView+ depends on / blocked
 
Reported: 2017-06-14 12:15 UTC by wfink
Modified: 2017-09-06 13:33 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-09-06 13:33:02 UTC
Type: Bug


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Issue Tracker JBEAP-11519 Major Verified [GSS](7.0.z) Race condition if timers overlap due to long running execution and short schedules if database persistence ... 2018-06-01 06:38:52 UTC
Red Hat Issue Tracker JBEAP-11557 Major Verified [GSS](7.1.0) Race condition if timers overlap due to long running execution and short schedules if database persistence ... 2018-06-01 06:38:52 UTC
Red Hat Issue Tracker WFLY-8929 Major Closed Race condition if timers overlap due to long running execution and short schedules if database persistence is used 2018-06-01 06:38:53 UTC
Red Hat Knowledge Base (Solution) 3080141 None None None 2017-06-14 12:17:17 UTC

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.


Note You need to log in before you can comment on or make changes to this bug.