Skip to content

v2.1.9#291

Merged
singaraiona merged 4 commits into
masterfrom
dev
Jun 24, 2026
Merged

v2.1.9#291
singaraiona merged 4 commits into
masterfrom
dev

Conversation

@singaraiona

Copy link
Copy Markdown
Collaborator

No description provided.

…shake

log_journal restarts a `-l` server three times and, after each spawn, waited
for readiness with a bare `echo > /dev/tcp/PORT` connect before `.ipc.open`.
A bare TCP connect only proves listen(2) succeeded, which is reached before
the server is accepting + completing the IPC handshake. On the slow
macOS-debug (ASan) runner that gap let the probe report "ready" while the very
next `(set h .ipc.open ...)` raced the not-yet-serving server and failed with
`io` (intermittent CI failure at log_journal.rfl:106). The 5s handshake
timeout rules out an accept-latency timeout; the `io` is a refused/reset
connect — the listener was not truly serving when the proxy said it was.

Make the readiness signal match what `.ipc.open` actually needs: each probe
now COMPLETES an IPC handshake (send the 2-byte version frame `\003\000`, read
a response byte) and only then declares the server ready. `read -t2` bounds
each attempt without the non-portable `timeout(1)` (absent on macOS bash 3.2).

Verified: full suite 3497/3499 (0 failed) and log_journal 20/20 on Linux.
.os.* conflated process-environment (getenv/setenv) with filesystem
metadata (size/list). Split the filesystem primitives out under .fs.*
via a hard rename so .os.* is env-only and there is a clean home for
future filesystem additions.

  .os.size -> .fs.size
  .os.list -> .fs.list

Updates registrations, impl fn names + error strings, the reserved-
namespace dual-binding test, and all doc surfaces (new fs.md, trimmed
os.md, namespace index, restricted-mode list, mkdocs nav).
…ring

collect_part_dirs conflated opendir failure (missing/unreadable path)
with an existing-but-empty directory, returning RAY_ERR_IO for both. An
existing root with no partition directories is a valid empty db, not an
I/O error.

collect_part_dirs now returns RAY_OK with count 0 in that case and each
caller decides: .db.parted.tables and .db.parted.fill return an empty
sym vector (the latter already documents 'empty when nothing to fix'),
while .db.parted.get still errors since reading a named table from a db
with no partitions has nothing to return. Missing/unreadable paths keep
erroring (opendir fails -> RAY_ERR_IO).
@singaraiona singaraiona merged commit f018070 into master Jun 24, 2026
6 checks passed
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