Skip to content

Lots of improvements - #26

Draft
oschulz wants to merge 13 commits into
masterfrom
improvements
Draft

Lots of improvements#26
oschulz wants to merge 13 commits into
masterfrom
improvements

Conversation

@oschulz

@oschulz oschulz commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

oschulz added 10 commits July 10, 2026 15:00
Don't print cookie bytes on mismatch, close the connection when
validation fails, and drop an unused WorkerConfig.

Created by generative AI.
Fix wrong function name and typos in docstrings, document the keyword
arguments of elastic_worker. Update the README to reflect the current
API and show output.

Created by generative AI.
The worker startup can take well over ten seconds when it has to
precompile for its flag configuration and load a user startup file, so
run it with --startup-file=no and a more generous connect timeout. Also
remove a debugging leftover that appended an argument after the
'sh -c <cmd>' command string, where it had no effect, and git-ignore
coverage files.

Created by generative AI.
Test the manage callback, cookie rejection, elastic_worker env and
forward_stdout options and the get_connect_cmd keyword arguments.

Created by generative AI.
Parametrize ElasticManager on the manage-callback type, type the
sockname field and store the listen socket in the manager (needed for
upcoming close support).

Created by generative AI.
worker_start_command returns the worker start command as a Cmd, safe to
run directly and free of shell-quoting pitfalls. get_connect_cmd keeps
its signature and becomes the shell-escaped string form of the same
command, for embedding in job scripts.

Created by generative AI.
close(em) stops accepting new worker connections and removes all of the
manager's active workers from the cluster; it is idempotent. The accept
and pending-connection loops now exit cleanly on shutdown, and a worker
connection that races with shutdown gets its socket closed instead of
leaking.

Created by generative AI.
Build the worker lists with join instead of seeking back over trailing
separators in an IOBuffer. Output format changes marginally.

Created by generative AI.
Created by generative AI.
@codecov

codecov Bot commented Jul 10, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 97.50000% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 98.11%. Comparing base (8b3a35a) to head (28bacc4).

Files with missing lines Patch % Lines
src/elastic.jl 97.50% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #26      +/-   ##
==========================================
+ Coverage   91.75%   98.11%   +6.36%     
==========================================
  Files           2        2              
  Lines          97      106       +9     
==========================================
+ Hits           89      104      +15     
+ Misses          8        2       -6     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@oschulz
oschulz marked this pull request as draft July 10, 2026 14:16
oschulz added 3 commits July 10, 2026 16:39
close(mgr) called Distributed.rmprocs unconditionally, which blocks on
Distributed's global worker lock - held for up to the full worker
timeout if a worker addition is in flight - even with no active workers
to remove. Skip rmprocs when there is nothing to remove and document
that close blocks until its workers are removed.

Test the shutdown paths: a worker connection that loses the race
against close, sockets still queued at close time, and a failing
in-flight worker addition.

Created by generative AI.
Created by generative AI.
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