[
https://issues.jboss.org/browse/ISPN-2008?page=com.atlassian.jira.plugin....
]
Eugen Dück updated ISPN-2008:
-----------------------------
Description:
The REST server's optimistic currency control is not atomic. The sequence in e.g. a
PUT request goes like this:
* request.evaluatePreconditions
* cache.put (if preconditions met)
Which is not inside any lock (that would make it pessimistic, anyway), in other words, a
race condition.
This applies to the optimistic variants, i.e. requests carrying 'If-Match' or any
of the other 'If-*' preconditions, of PUT, POST, and DELETE requests.
was:
The REST server's optimistic currency control is not atomic. The sequence in e.g. a
PUT request goes like this:
* request.evaluatePreconditions
* cache.put (if preconditions met)
Which is not inside any lock (that would make it pessimistic, anyway), in other words, a
race condition.
This applies to the optimistic variants of PUT, POST, and DELETE.
Forum Reference:
https://community.jboss.org/message/731806 (was:
https://community.jboss.org/message/731806)
Optimistic concurrency in REST server is not using atomic operations
--------------------------------------------------------------------
Key: ISPN-2008
URL:
https://issues.jboss.org/browse/ISPN-2008
Project: Infinispan
Issue Type: Bug
Affects Versions: 5.1.4.CR1
Reporter: Eugen Dück
Assignee: Manik Surtani
The REST server's optimistic currency control is not atomic. The sequence in e.g. a
PUT request goes like this:
* request.evaluatePreconditions
* cache.put (if preconditions met)
Which is not inside any lock (that would make it pessimistic, anyway), in other words, a
race condition.
This applies to the optimistic variants, i.e. requests carrying 'If-Match' or any
of the other 'If-*' preconditions, of PUT, POST, and DELETE requests.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira