feat(cli) : add system doctor command with shared memory feature#1352
feat(cli) : add system doctor command with shared memory feature#1352Harsh-Sahu43 wants to merge 1 commit intodora-rs:mainfrom
Conversation
|
Thanks for the PR! Is it really common that @ZhangHanDong You opened the issue at #1211 that this PR is trying to fix. Is this check what you had in mind? Do you know whether shmem permissions are really an issue in practice? |
|
Thanks for the clarification. Given that /dev/shm permission issues don’t seem to be a common real-world problem, I agree that introducing a standalone system doctor command just for this check may not be justified. Looking back at #1211, some proposed checks (e.g. toolchains, dependency versions) would require knowing which languages are actually used, likely via a dataflow.yml. Without that context, the command wouldn’t be able to determine what to validate. @ZhangHanDong Could you clarify the intended scope of system doctor? @phil-opp From your perspective, what would meaningfully justify a system doctor command? Should it focus only on Dora’s own prerequisites, or broader environment validation? If the scope isn’t clearly defined yet, I’m also fine pausing or reworking this once the direction is clearer. |
Summary
This PR introduces the initial implementation of the
dora system doctorcommand, focusing on shared memory validation for Linux systems.Dora relies on
/dev/shmfor inter-process communication. Incorrect permissions (expected1777) can lead to runtime issues when spawning or coordinating nodes. This command validates the shared memory configuration and provides actionable fix suggestions when misconfigured.This addresses (#1211).
What This PR Implements
dora system doctor/dev/shmexists1777(sticky bit enabled)✓when configuration is correct⚠with fix suggestion when misconfiguredScope & Rationale
The original issue (#1211) proposes multiple diagnostic checks (toolchains, ports, config integrity, etc.).
To keep the implementation incremental and well-scoped, this PR introduces a runtime-level diagnostic focused on shared memory only.
Example Output