Bug 495591 - [Jobs] JobManager should support optimistic locking
Summary: [Jobs] JobManager should support optimistic locking
Status: NEW
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Runtime (show other bugs)
Version: 4.5.2   Edit
Hardware: PC Windows 7
: P5 enhancement (vote)
Target Milestone: ---   Edit
Assignee: platform-runtime-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: helpwanted
Depends on:
Blocks:
 
Reported: 2016-06-07 07:09 EDT by Jens Kuebler CLA
Modified: 2016-06-08 09:27 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jens Kuebler CLA 2016-06-07 07:09:53 EDT
The job manager's scheduling rule may implement a client specific pessimistic locking. Modern concurrency access policies support the notion of optimistic locking where a timestamp is associated both with the transaction and the lock (scheduling rule) in order to determine if concurrent access has been conflicting.
This may in turn yield some transactions (jobs) to fail if a concurrent access occurred. The job manager should therefore have the possibility to retry a job with a new timestamp/transaction if a previous write conflict occurred.
Comment 1 Brian de Alwis CLA 2016-06-08 09:27:47 EDT
The Jobs API is about scheduling and isn't transactional, and there is no support for rollback nor replay.  Optimistic locking works when there is very rare chance of interference between processes; in our primary usecases, dealing with incremental building, there is always interference between processes.  I'm tempted to mark this as WONTFIX, but maybe someone else can think of a way to combine the approaches.