chore: bump openjd-sessions to 0.11.0 - #1068
Conversation
Required for the resolved_symtab= kwarg on _v1.Session methods, used by the resolvedSymbolTable forwarding merged in aws-deadline#1063. Note: openjd-sessions 0.11.0 includes a breaking change to session working directory naming on Windows (session ID prefix removed, embedded_files renamed to ef) for MAX_PATH compliance. Signed-off-by: Sean Tang <171081544+seant-aws@users.noreply.github.com>
f8e3513 to
1d5dda8
Compare
| "deadline-job-attachments == 0.1.3", | ||
| # Pinned to patch version due to Host Config Script runner usage of private OpenJD Sessions API. | ||
| "openjd-sessions == 0.10.14", | ||
| "openjd-sessions == 0.11.0", |
There was a problem hiding this comment.
openjd-sessions 0.11.0 ships a documented breaking change: the session working directory name is no longer prefixed with the session id (_create_working_directory now passes prefix="" to TempDir, so the name is just mkdtemp()'s 8 random chars).
The existing e2e test test/e2e/test_worker_config.py::test_session_root_dir asserts exactly that prefix and will fail against 0.11.0:
- Linux (line 231):
if [[ "$cwd" != {session_root_dir}/session-* ]] - Windows (line 249):
if (-not ($cwd -like '{session_root_dir}\\session-*'))
With 0.11.0 the cwd is <session_root_dir>/<8 random chars>, so both branches take the FAIL path and the job exits 1.
Suggest updating that test in this PR to assert only that the cwd is under session_root_dir (drop the session- prefix expectation), otherwise the e2e suite breaks on this bump.
| "deadline-job-attachments == 0.1.3", | ||
| # Pinned to patch version due to Host Config Script runner usage of private OpenJD Sessions API. | ||
| "openjd-sessions == 0.10.14", | ||
| "openjd-sessions == 0.11.0", |
There was a problem hiding this comment.
Follow-on to the same 0.11.0 breaking change: docs/state.md still documents the old session-directory naming and is now wrong.
docs/state.md:188-193 says:
Session directories are created as children of the session root directory. The directories begin with the session ID, with trailing random characters:
<SESSION_ROOT_DIR>/<SESSION_ID>_a159c9
As of 0.11.0 the name is mkdtemp()'s 8 random characters with no session-id prefix, so the documented layout no longer matches reality. This matters operationally, not just cosmetically: the section immediately below (lines 203-209) documents --retain-session-dir / DEADLINE_WORKER_RETAIN_SESSION_DIR, and the whole point of retained directories is post-hoc inspection. With this bump, an operator can no longer map a retained directory back to a session by its name — upstream's own note says the mapping now has to come from the session log at <worker_logs_dir>/<queue_id>/<session_id>.log.
Worth updating this section in the same PR, and pointing operators at the session log as the way to attribute a retained directory.
What was the problem/requirement? (What/Why)
PR #1063 (merged) passes
resolved_symtab=to_v1.Session.enter_environment,exit_environment, andrun_task. This kwarg was introduced in openjd-sessions 0.11.0 and does not exist in 0.10.14. Without this bump, a released worker would TypeError on the first Rust-runtime environment enter.What was the solution? (How)
Bump the exact pin from
== 0.10.14to== 0.11.0.What is the impact of this change?
openjd-sessions 0.11.0 includes a breaking change: session working directory name shortened for Windows MAX_PATH — session working dir is no longer prefixed with session ID;
embedded_files<random>renamed toef<random>. This affects the on-disk layout of session working directories. Existing sessions are not migrated.How was this change tested?
Unit tests pass. The editable install used by CI has been running at 0.10.14.post11 (11 commits past 0.10.14, superset of 0.11.0) for weeks with no issues.
Was this change documented?
No documentation change needed.
Is this a breaking change?
The worker agent itself does not break API/CLI, but the underlying openjd-sessions 0.11.0 changes on-disk session directory naming on Windows.