Skip to content

Fix config.py env validation, benchmarks.yml batch structure, and README inaccuracies #351

@jathavaan

Description

@jathavaan

Problem

Code audit found several issues across config.py, benchmarks.yml, and README.md:

1. config.py: os.getenv() returns None silently for missing required env vars

9 required environment variables are typed str but default to None when unset. Downstream code receives None instead of str, causing late runtime errors with opaque messages. POSTGRES_HOST additionally calls os.getenv('POSTGRES_SERVER_NAME') directly instead of referencing the already-defined class attribute, producing "None.postgres.database.azure.com" when unset — a plausible-looking string that fails with a DNS error at connect time.

2. benchmarks.yml: Large-scale batch structure diverges from README

Broadcast-large experiments (broadcast-2, broadcast-4, broadcast-16) all list each other in related_script_ids, forming one 3-way batch (100 vCPU). README describes them as two separate batches (A_L1: 16+2, A_L3: 12+4). Same for partitioned-large.

3. README.md: Stale values

  • BENCHMARK_MAX_TIMED_WINDOW_SECONDS documented as 5400 (90 min); actual value is 21600 (6 hours).
  • ACI resource specs documented as "3 vCPU and 8 GB RAM"; actual is cpu: 4, memory_gb: 16.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions