-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Prevent deadlocking event-handler on missing recordings #44659
Merged
Merged
Conversation
This file contains 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
rosstimothy
changed the title
Prevent deadlocking on missing recordings
Prevent event-handler deadlocking on missing recordings
Jul 25, 2024
rosstimothy
changed the title
Prevent event-handler deadlocking on missing recordings
Prevent deadlocking event-handler on missing recordings
Jul 25, 2024
tigrato
reviewed
Jul 26, 2024
rosstimothy
force-pushed
the
tross/event_handler_deadlock
branch
from
July 26, 2024 16:32
7f1e152
to
e9c931e
Compare
rosstimothy
force-pushed
the
tross/event_handler_deadlock
branch
2 times, most recently
from
July 29, 2024 13:26
dede267
to
ff60700
Compare
marcoandredinis
approved these changes
Jul 29, 2024
tigrato
approved these changes
Jul 29, 2024
public-teleport-github-review-bot
bot
removed the request for review
from hugoShaka
July 29, 2024 14:02
If the number of session.upload events without a corresponding session recording is higher than the configured concurrency, then the event-handler could deadlock while attempting to find said recording. To prevent this from occurring processing of session recordings has been modified such that: - if a recording does not exist and the session.upload event is from more than 48 hours in the past it is assumed to be lost and no more attempts to process the recording will happen - all processing of recordings that were not found is now done in a separate background routine, instead of inline with event processing The storage directory will now contain information about sessions with a missing recording. The background routine will process them periodically, capping the number of attempts per recording at 3.
rosstimothy
force-pushed
the
tross/event_handler_deadlock
branch
from
July 29, 2024 17:56
ff60700
to
04dcbe8
Compare
@rosstimothy See the table below for backport results.
|
rosstimothy
added a commit
that referenced
this pull request
Jul 29, 2024
If the number of session.upload events without a corresponding session recording is higher than the configured concurrency, then the event-handler could deadlock while attempting to find said recording. To prevent this from occurring processing of session recordings has been modified such that: - if a recording does not exist and the session.upload event is from more than 48 hours in the past it is assumed to be lost and no more attempts to process the recording will happen - all processing of recordings that were not found is now done in a separate background routine, instead of inline with event processing The storage directory will now contain information about sessions with a missing recording. The background routine will process them periodically, capping the number of attempts per recording at 3.
rosstimothy
added a commit
that referenced
this pull request
Jul 29, 2024
If the number of session.upload events without a corresponding session recording is higher than the configured concurrency, then the event-handler could deadlock while attempting to find said recording. To prevent this from occurring processing of session recordings has been modified such that: - if a recording does not exist and the session.upload event is from more than 48 hours in the past it is assumed to be lost and no more attempts to process the recording will happen - all processing of recordings that were not found is now done in a separate background routine, instead of inline with event processing The storage directory will now contain information about sessions with a missing recording. The background routine will process them periodically, capping the number of attempts per recording at 3.
github-merge-queue bot
pushed a commit
that referenced
this pull request
Jul 29, 2024
) If the number of session.upload events without a corresponding session recording is higher than the configured concurrency, then the event-handler could deadlock while attempting to find said recording. To prevent this from occurring processing of session recordings has been modified such that: - if a recording does not exist and the session.upload event is from more than 48 hours in the past it is assumed to be lost and no more attempts to process the recording will happen - all processing of recordings that were not found is now done in a separate background routine, instead of inline with event processing The storage directory will now contain information about sessions with a missing recording. The background routine will process them periodically, capping the number of attempts per recording at 3.
github-merge-queue bot
pushed a commit
that referenced
this pull request
Jul 29, 2024
) If the number of session.upload events without a corresponding session recording is higher than the configured concurrency, then the event-handler could deadlock while attempting to find said recording. To prevent this from occurring processing of session recordings has been modified such that: - if a recording does not exist and the session.upload event is from more than 48 hours in the past it is assumed to be lost and no more attempts to process the recording will happen - all processing of recordings that were not found is now done in a separate background routine, instead of inline with event processing The storage directory will now contain information about sessions with a missing recording. The background routine will process them periodically, capping the number of attempts per recording at 3.
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.
If the number of session.upload events without a corresponding session recording is higher than the configured concurrency, then the event-handler could deadlock while attempting to find said recording. To prevent this from occurring processing of session recordings has been modified such that:
The storage directory will now contain information about sessions with a missing recording. The background routine will process them periodically, capping the number of attempts per recording at 3.
Changelog: reduce the probability that the event-handler deadlocks when encountering errors processing session recordings