Skip to content

Restore SGE support: removed from v0.2.0 as never verified against a real scheduler #141

Description

@jeremymanning

SGE (Sun Grid Engine / Grid Engine) support is implemented and removed from v0.2.0 as unverified. It has never been run against a real Grid Engine installation.

What exists, and where

Introduced in 4b2aba5 (2025-06-24). At 299109f:

Code Location
Job submission clustrix/executor_schedulers.py:251 submit_sge_job
Status polling clustrix/executor_scheduler_status.py:517 _check_sge_status
Dispatch clustrix/executor_core.py:115,553
Script generation clustrix/utils.py:2803 _create_sge_script; dispatch at :2511,2548
Tutorial docs/source/notebooks/sge_tutorial.ipynb

Specific risk to check on restoration

SGE shares the SLURM/PBS staging and environment-setup path, but its directive syntax (#$ -l h_rt=, #$ -pe) and its qstat output format are distinct from both. The status parser and the resource-directive generator are the two places where an untested assumption would show up first: a misparsed qstat line means clustrix reports a running job as finished, which is a silent wrong answer rather than an error.

Why it is being removed rather than fixed

Not because the code is known to be wrong. Because it has never been run against the real thing, and shipping it in the cluster-type dropdown states otherwise. A user who selects it gets a code path no one has ever seen succeed.

v0.2.0 keeps exactly the four backends that have been demonstrated end to end -- local, ssh, slurm, huggingface -- and the documentation now says the rest are planned for a future release rather than currently supported.

Restoring it

Nothing is lost: every line cited above stays reachable in git history at the commits named. Reinstating it means reverting the removal commit and then doing the part that was never done -- running it against real hardware and recording the evidence in this issue.

Definition of done

  • Backend restored from history
  • A real job submitted, executed and its result returned, with the transcript pasted into this issue
  • Failure paths exercised (job rejected, job killed, node lost)
  • Re-added to SUPPORTED_CLUSTER_TYPES, the widget dropdown and the CLI
  • Documentation moved from "planned" to "supported"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions