[ https://issues.apache.org/jira/browse/BEAM-8577?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16976838#comment-16976838 ]
David Moravek commented on BEAM-8577: ------------------------------------- This is broken in previous versions as well. Removing 2.17 tag as we still didn't reach consensus how to properly solve this (the PR is just a workaround). > FileSystems may have not be initialized during ResourceId deserialization > ------------------------------------------------------------------------- > > Key: BEAM-8577 > URL: https://issues.apache.org/jira/browse/BEAM-8577 > Project: Beam > Issue Type: Bug > Components: runner-flink > Affects Versions: 2.16.0 > Reporter: David Moravek > Assignee: David Moravek > Priority: Major > Fix For: 2.17.0 > > Time Spent: 40m > Remaining Estimate: 0h > > - FileSystems use static registration using > *FileSystems#setDefaultPipelineOptions* method. > - *#setDefaultPipelineOptions* is called either when deserializaing > SerializablePipelineOptions or during opening of various beam operators. > - *FileIO#matchAll* is expanded using *Reshuffle.viaRandomKey()*. > - Reshuffle is implemented using *.rebalance*, that doesn't have a > "RichFunction" lifecycle, so we need to find another way to register > FileSystems, as the deserialization may happen before other "rich operators" > get executed on particular task manager. > This results in random pipeline fails as the task assignment is not > deterministic. > We can workaround this, by registering FileSystems during coder > deserialization. -- This message was sent by Atlassian Jira (v8.3.4#803005)