fix: fixup optimistic concurrency control#2431
Merged
nitrosx merged 2 commits intoSciCatProject:masterfrom Feb 17, 2026
Merged
Conversation
FloKo2669
approved these changes
Dec 23, 2025
If the time send by the client is equal to the ressource on the server, the clients updated version is based on servers version with that time. or in other words: the client has taken into account the ressource on the server b/c the client should use the timestamp received with the ressource from the server. from the RFC: > The origin server MUST NOT perform the requested method > if the selected representation's last modification date is more > recent than the date provided in the field-value Client receives t0 Client sends update w/ t0 -> OK Server is on t1 Client received t0 (previously) Client sends update w/ t0 -> FAIL Change-Id: Ibdff18c17a8b43523cec88ac8b9c16a94fd77617
89723ba to
9563820
Compare
Contributor
Author
nitrosx
approved these changes
Feb 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
If the time send by the client is equal to the ressource on the server,
the clients updated version is based on servers version with that time.
or in other words:
the client has taken into account the ressource on the server b/c the
client should use the timestamp received with the ressource from the
server.
from the RFC:
Client receives t0
Client sends update w/ t0 -> OK
Server is on t1
Client received t0 (previously)
Client sends update w/ t0 -> FAIL
Motivation
The current implementation does not accept timestamps equal to the server ressource as described above.
Fixes