py DataflowRunner should warn if the stagingLocation has a TTL
- 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
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