fix: add timeout to health check exec calls to prevent blocking#235
Closed
claude-claude[bot] wants to merge 1 commit intohttp-proxyfrom
Closed
fix: add timeout to health check exec calls to prevent blocking#235claude-claude[bot] wants to merge 1 commit intohttp-proxyfrom
claude-claude[bot] wants to merge 1 commit intohttp-proxyfrom
Conversation
The health monitor was getting blocked when trying to run 'fcvm exec' to check container status via podman inspect. The exec command has built-in retry logic with exponential backoff that can take 50+ seconds when the exec server isn't ready yet (e.g., during VM startup). This caused the health check to hang for extended periods, preventing VMs from being marked as healthy in a timely manner. The test-packaging-e2e test was timing out after 120 seconds because the health checks were taking too long. Solution: Add a 2-second timeout to exec calls in both check_container_running and check_podman_healthcheck. This allows the health monitor to fail fast and retry on the next iteration (every 100ms during startup), rather than blocking for the full exec retry duration. Fixes CI #21696494896
7 tasks
Owner
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.
CI Fix
Fixes CI #21696494896
Problem
The test was timing out on ARM64 because the VM never became healthy within the 120-second timeout. The health monitor was getting blocked when trying to run
fcvm execto check container status via podman inspect.Root cause: Commit cb639e9 changed the health check to not assume healthy when exec fails, which is correct behavior. However, the
fcvm execcommand has built-in retry logic with exponential backoff that can take 50+ seconds when the exec server isn't ready yet (common during VM startup). This caused health checks to hang for extended periods, preventing VMs from being marked as healthy.Solution
Added a 2-second timeout to exec calls in both
check_container_runningandcheck_podman_healthcheck. This allows the health monitor to fail fast and retry on the next iteration (every 100ms during startup), rather than blocking for the full exec retry duration.With this fix:
Generated by Claude | Fix Run