Skip to content
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

Improve reliability issues in Courier services #320

Merged
merged 1 commit into from
Dec 24, 2023
Merged

Improve reliability issues in Courier services #320

merged 1 commit into from
Dec 24, 2023

Conversation

whitfin
Copy link
Owner

@whitfin whitfin commented Dec 24, 2023

Fixes #319 (hopefully).

I'm not sure why it happens, but there are cases where the spawned processes die without exception. You can simulate this by killing a process manually. In this case, the Courier will never return and your calls will simply wait forever.

This PR will update the courier to correctly link the children and listen for their termination; allowing us to cleanup and pass something back to callers. The newly added test case fails without these changes, it hangs forever. With the changes, it correctly terminates and passes the results to the caller.

I am not sure about handling the errors inside the spawned children anymore; we can just let the process die and bubble it back up to the caller (we could even just raise ExecutionError, but that makes a bit of logging noise). I'll probably look at this again in future, but I don't want to balloon the scope of these changes for now.

@whitfin whitfin added this to the v3.7.0 milestone Dec 24, 2023
@whitfin whitfin self-assigned this Dec 24, 2023
@whitfin whitfin changed the title Correct reliability issues in Courier services Improve reliability issues in Courier services Dec 24, 2023
@whitfin whitfin merged commit 2e88c0c into main Dec 24, 2023
15 checks passed
@whitfin whitfin deleted the issue-319 branch December 24, 2023 17:07
@whitfin whitfin modified the milestones: v3.7.0, v4.0.0 Mar 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Cachex.fetch hangs and breaks my app
1 participant