java 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-1507](https://issues.apache.org/jira/browse/BEAM-1507). Original Jira may contain additional context.
Reported by: dhalperi.
Contributor guide
Research direction
Start in the Java DataflowRunner entry point that handles stagingLocation and trace how the staging bucket is inspected before a job starts. Determine whether a bucket TTL can be detected and identify the existing warning path. Done means users are warned when staged files may expire before they are needed, with coverage for the relevant staging behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- cloud
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100