apache / apache/beam

py DataflowRunner should warn if the stagingLocation has a TTL

Open
#18,123 0 comments 0 reactions 0 assignees View on GitHub
core good first issue improvement P3 python
Dominant language
Java
Stars
8.7k
Forks
4.7k
Avg merge
1d 20h
Merged PRs (30d)
196

Description

We have seen a few customers run into a hard-to-track-down bug where the staging bucket has a TTL, but files get TTL-deleted when they are still needed.

This might be because of:

1. Long lived batch jobs / streaming jobs can reference staged files arbitrarily later and will fail in bad ways if they have been deleted.
2. Some customers even hit issues where the "check file already exists" succeeds when starting a job, but then the file is TTL-deleted before the job actually starts. (This sounds crazy, but may happen if TTL is 7 days and jobs run every 7 days, for example. Race condition.)

I'm hoping it's not hard to check that files would have TTLs and warn if so.

Imported from Jira [BEAM-1506](https://issues.apache.org/jira/browse/BEAM-1506). Original Jira may contain additional context.
Reported by: dhalperi.

Contributor guide

Open the contributing guide

Research direction

Start at the Python DataflowRunner entry point and trace how stagingLocation is handled. Determine how a staging bucket's TTL can be detected and where a warning belongs; done means TTL-configured staging locations warn before jobs rely on staged files, without warning for locations without a TTL.

Written by the indexing model from the issue text.

Assessment

Tech stack
gcp, python
Domain
cloud, data-engineering
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.