Skip to content

Comments

Fix concurrent access to app tokens#527

Merged
rhafer merged 7 commits intoopencloud-eu:mainfrom
rhafer:issue/2023
Feb 17, 2026
Merged

Fix concurrent access to app tokens#527
rhafer merged 7 commits intoopencloud-eu:mainfrom
rhafer:issue/2023

Conversation

@rhafer
Copy link
Member

@rhafer rhafer commented Feb 10, 2026

@rhafer rhafer self-assigned this Feb 10, 2026
According to the CS3 specs (https://github.com/cs3org/cs3apis/blob/main/cs3/rpc/v1beta1/code.proto)
the correct status code to return for a request that a client "should
retry on a higher level" is 'Aborted' (we map that to the HTTP Status
"Precondition Failed"). The 'FailedPrecondition' CS3 status is supposed
to be used for cases where a client should not retry (usually mapped to
the HTTP Status "Conflict" or "Bad Request")
- check for the 'Aborted' status code for whether the upload should be
  retries. Due to a bug previously the storageprovider could return
  either 'Aborted' or 'FailedPrecondition'. We were only checking for
  'FailedPrecondtion' and missed a couple of case for retry due to that.
  Now the storeageprovider always returns 'Aborted'.
- workaround for 425 Status: Even with async_uploads disable we
  sometimes get a 425 Status when trying to download a file to which an
  upload is currently in progress (bug report pending). This adds a
  workaround to the jsoncs3 apptoken manager to retry the download after
  a short timeout.

Fixes: opencloud-eu/opencloud#2023
With the additional test the test-suite not often needs more that 10
minutes
Allow to increase the number of retries for the apptoken update for
testing.
@rhafer rhafer marked this pull request as ready for review February 17, 2026 08:45
@rhafer rhafer requested a review from aduffeck February 17, 2026 08:46
@rhafer rhafer merged commit 1aa292c into opencloud-eu:main Feb 17, 2026
19 checks passed
@openclouders openclouders mentioned this pull request Feb 17, 2026
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Sporadic authentication failure caldav/carddav

2 participants