8000 fix(docker_executor): explain the missing Docker daemon at startup by dmux · Pull Request #87 · dmux/minilake · GitHub
[go: up one dir, main page]

Skip to content
Merged

dmux merged 2 commits into
mainfrom
fix/prewarm-no-docker-message

Conversation

@dmux
@dmux dmux commented Oct 29, 2026
Copy link
Copy Markdown
Owner

Closes #85

Summary

On a machine without Docker (a plain pip install is the common case), startup logged:

Failed to pre-pull job execution image apache/spark:... (non-critical): Error while fetching server API version: ('Connection aborted.', FileNotFoundError(2, ...))

Nothing was wrong, but it read like a failure and gave no way out.

What changed

prewarm_spark_image now tells the cases apart:

  • No Docker daemon (DockerException): logs Docker is not reachable (...); skipping the Spark image pre-pull. Spark job tasks need Docker (or set MINILAKE_JOB_EXECUTOR=subprocess). Set MINILAKE_SPARK_PREWARM=0 to silence this.
  • Daemon answered but the pull failed (APIError): keeps the existing Failed to pre-pull ... warning.
  • Anything else still falls into the existing broad except.

The message stays a WARNING on purpose: the default log level is WARNING (cli.py), so an INFO message would never be seen, and Spark job tasks really do fail without Docker.

docs/getting-started.md now says Docker is optional for pip installs, and docs/configuration.md notes that MINILAKE_SPARK_PREWARM=0 also silences this warning.

Testing

Two tests in tests/test_docker_executor.py: one for the no-daemon message (asserts the two opt-out settings are named and the old "Failed to pre-pull" text is absent), one for a pull failure that still warns.

I could not run the Docker test suite locally (arm64 machine, amd64-only test image), so this relies on CI. I did exercise the real code path outside pytest with DOCKER_HOST pointing at a nonexistent socket, and the new message is what gets logged. ruff format, ruff check and pre-commit pass.

The Spark image pre-pull reported a missing Docker socket as a raw
connection error. Report it as 'Docker is not reachable' with the two
ways to opt out, and keep the existing warning for real pull failures.
Document Docker as optional for pip installs.
@dmux dmux self-assigned this Oct 29, 2026
@dmux dmux added the documentation Improvements or additions to documentation label Oct 29, 2026
@dmux
dmux merged commit 967b66e into main Oct 29, 2026
3 checks passed
@dmux
dmux deleted the fix/prewarm-no-docker-message branch October 31, 2026 01:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] Failed to pre-pull job execution image apache/spark:3.5.3-scala2.12-java17-python3-ubuntu

1 participant

0