Skip to content

Let DockerSessionListener subclasses route their own container stop - #7956

Merged
labkey-tchad merged 1 commit into
developfrom
fb_docker_rstudio_flaky_tests
Aug 21, 2026
Merged

Let DockerSessionListener subclasses route their own container stop#7956
labkey-tchad merged 1 commit into
developfrom
fb_docker_rstudio_flaky_tests

Conversation

@labkey-tchad

@labkey-tchad labkey-tchad commented Aug 19, 2026

Copy link
Copy Markdown
Member

Rationale

DockerSessionListener.valueUnbound() always stopped a container via the generic DockerService, so a subclass that keeps its own cache of tracked containers (like RStudio's DockerRStudioManager) had no way to keep that cache in sync when a container was stopped this way.

Related Pull Requests

  • LabKey/premiumModules#704 — the consumer of this change, fixing stale RStudio container caching

Changes

  • Added an overridable stopContainer() hook that valueUnbound() calls instead of hard-coding DockerService.get().stop(); default behavior is unchanged for existing callers.

DockerSessionListener.valueUnbound() stopped containers via DockerService directly, so RStudioSessionListener (the only subclass) never told DockerRStudioManager to invalidate its cached process for that container. Added an overridable stopContainer() hook so subclasses with their own container cache can stay consistent.
@labkey-tchad
labkey-tchad requested a review from XingY August 20, 2026 16:23
@labkey-tchad labkey-tchad self-assigned this Aug 20, 2026
@labkey-tchad
labkey-tchad merged commit d574ebc into develop Aug 21, 2026
9 of 10 checks passed
@labkey-tchad
labkey-tchad deleted the fb_docker_rstudio_flaky_tests branch August 21, 2026 17:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants