Skip to content

Conflict between CSV 'delivery' option and CLI download directory -d/--dir #57

Description

@ana-miguel-302647F

Conflict between CSV delivery option and CLI download directory -d/--dir

Description

There is an architectural and functional conflict between the delivery: <acacia || scratch || dug> parameter specified in the input CSV file and the -d DIR / --dir DIR command-line option in the manta-ray-client.

Currently, the client does not gracefully handle situations where these two options point to physically distinct file systems or compute environments (e.g., trying to deliver to a remote storage cluster like dug while setting a local download directory like -d /scratch/foo on a high-performance computing system like Setonix). The client cannot cross-mount or automatically migrate files between these disparate server-side and client-side locations, leading to silent failures, errors, or unexpected behavior.

Steps to reproduce / scenario:

1 Define delivery=scratch or (dug/acacia) inside the job submission CSV file
2 Run the manta-ray-client passing a local directory path that doesn't natively map to the server's delivery destination via the CLI:
manta-ray-client --csv input.csv -d /path/to/custom/local/scratch
3 Observe that the client fails to fetch/move the data correctly because it assumes a shared file system structure that may not exist, or it attempts an impossible server-to-local filesystem bridge.

Expected behaviour

The client should either:

  1. Validate and warn/fail early: Catch the conflict before initiating the job or download process, informing the user that the -d option and the CSV delivery destination are incompatible
  2. Override logic: Clearly define a hierarchy (e.g. if -d is provided, it explicitly overrides certain delivery behaviours, or vice versa, if that aligns with the ASVO architecture).
  3. Graceful error handling: Provide a clear error message explaining why the download cannot proceed across the specified boundaries

To do

  • Review how manta-ray-client parses the CSV delivery field in tandem with the -d CLI argument
  • Determine the best architectural fix: Should the CSV delivery option be made optional if -d is used? Or should the client explicitly throw a ValidationError when they clash?
  • Implement robust error logging to prevent users from encountering silent or cryptic download failures

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions