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.
>>>>
>>>

Reply via email to