Skip to content

Use GCS-backed IO manager for durable asset I/O#76

Merged
jirhiker merged 1 commit into
mainfrom
feature/gcs-io-manager
Jun 25, 2026
Merged

Use GCS-backed IO manager for durable asset I/O#76
jirhiker merged 1 commit into
mainfrom
feature/gcs-io-manager

Conversation

@jirhiker

Copy link
Copy Markdown
Member

Fixes the runtime failure when a downstream asset is materialized on its own:

DagsterExecutionLoadInputError: Error occurred while loading input "src_bor" of step "nm_tds_summary"
FileNotFoundError: .../storage/nm_tds_summary/sources/bor

Cause: Dagster+ serverless uses the default filesystem IO manager backed by the run's ephemeral /tmp. A combine asset (or the geoserver leaf) can only load its source inputs if those source assets ran in the same run. Materializing the combine/geoserver asset alone — or relying on a prior run's outputs — can't find them.

Fix: configure GCSPickleIOManager (prefix dagster-io on the existing products bucket) as the default io_manager. Asset outputs now persist to GCS, so downstream assets load their inputs across runs.

Scheduled runs (which materialize the full geoserver.upstream() graph) already worked; this makes ad-hoc/partial materialization work too and makes outputs durable.

Verified: definitions load — 45 assets, 6 schedules, io_manager = GCSPickleIOManager.

🤖 Generated with Claude Code

Materializing a downstream asset on its own (combine or geoserver) failed:
  FileNotFoundError: .../storage/<pid>/sources/<src>
  DagsterExecutionLoadInputError: loading input "src_bor" of "<pid>"

Dagster+ serverless defaults to the filesystem IO manager backed by the
run's ephemeral /tmp, so a source asset's output isn't available to a
combine/geoserver step unless both run in the same run. Configure a
GCSPickleIOManager (gcs_prefix=dagster-io on the products bucket) so asset
outputs persist and downstream assets load their inputs across runs.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Jun 25, 2026

Copy link
Copy Markdown

Your pull request is automatically being deployed to Dagster Cloud.

Location Status Link Updated
die-orchestration View in Cloud Jun 25, 2026 at 06:00 PM (UTC)

@jirhiker jirhiker merged commit f5ae7f9 into main Jun 25, 2026
2 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