I looked closer into the tentative fix and and the crux of the issue. The issue pertains to a contract between the runner and the SDK regarding the --semi_persist_dir that a runner provisions and provides to the SDK (fallback is /tmp). Currently, in XLang Dataflow pipelines two different SDK containers can recieve from the runner a semi_persist_dir path that is backed by the same physical location.
The question is then, what is responsible to resolve this conflict: A) Runner is responsible to provide a unique --semi_persist_dir path to every SDK. B) SDK is responsible to write to a unique path, namespaced by SDK ID assigned by the runner, to avoid conflicts. Option A requires added implementation work by runners. Option B makes it harder to know the exact path to staged files on the worker, since the SDK ID could change based on runtime configuration. Approach B seems to be a simpler solution since we could address it within the SDK, but can cause a breaking change for users who currently rely on --files_to_stage option and make an assumption on the local path in Dataflow (or other runners). On Wed, Oct 21, 2026 at 11:14 AM Valentyn Tymofieiev <[email protected]> wrote: > +1, thank you! > > On Wed, Oct 21, 2026 at 10:56 AM Chamikara Jayalath via dev < > [email protected]> wrote: > >> +1. Thanks a lot for looking into this and providing a fix Tarun. >> >> - Cham >> >> On Wed, Oct 21, 2026 at 6:41 AM Kenneth Knowles <[email protected]> wrote: >> >>> Nice catch, and good write-up. Thanks for the clear summary in the doc, >>> too. >>> >>> Kenn >>> >>> On Tue, Oct 20, 2026 at 11:02 PM Tarun Annapareddy via dev < >>> [email protected]> wrote: >>> >>>> Hi everyone, >>>> >>>> Recently, we have encountered Dataflow Multi-Environment pipelines >>>> crash-looping due to integrity check failures. However, while debugging we >>>> realized it's a long-standing issue in Beam Python dependency staging. This >>>> fix is small, but a bit convoluted, so I have created a doc and attached >>>> the PR. >>>> >>>> Doc: >>>> https://docs.google.com/document/d/1gNfjbIYNzbv15-RjCj0ad4MHenVPoSjUEcH0Ok3iNyU/edit?usp=sharing >>>> >>>> PR: go/beam-pr/40699 <https://goto.google.com/beam-pr/40699> >>>> >>>> Thank you, >>>> Tarun. >>>> >>>
