Skip to content

Conversation

@mrrobot47
Copy link
Member

@mrrobot47 mrrobot47 commented Jan 7, 2026

Problem

Under heavy system load, docker ps can occasionally return exit code 1 due to transient Docker daemon/socket unresponsiveness, even when Docker is properly installed and running. This causes EasyEngine to fail with "Docker not installed or not running" error unnecessarily.

Solution

  • Added retry mechanism with exponential backoff (1s → 2s → 4s, total 7s max wait) for the Docker availability check
  • Moved debug logging (argv, config paths) to the start of Runner::start() for better debugging visibility when Docker checks fail
  • Added debug logging for retry attempts to help diagnose transient failures

Added to handle transient failures for when system is under load or docker has stalled.
Copilot AI review requested due to automatic review settings January 7, 2026 09:03
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds resilience to the Docker availability check by implementing a retry mechanism with exponential backoff to handle transient Docker daemon failures under heavy system load. It also improves debugging by moving debug logging statements earlier in the execution flow.

Key changes:

  • Implemented retry logic with exponential backoff for the docker ps command to handle transient Docker daemon unresponsiveness
  • Relocated debug logging statements to the beginning of Runner::start() for better visibility when Docker checks fail

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

mrrobot47 and others added 3 commits January 7, 2026 15:27
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@mrrobot47 mrrobot47 merged commit 62e54d7 into EasyEngine:develop Jan 7, 2026
9 checks passed
@mrrobot47 mrrobot47 deleted the feat/docker-check-retry branch January 7, 2026 10:04
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.

1 participant