You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@beam.apache.org by "mosche (via GitHub)" <gi...@apache.org> on 2023/05/15 11:00:50 UTC

[GitHub] [beam] mosche opened a new pull request, #26694: [Proposal] Track pipeline options revision for idempotent initialization of file systems

mosche opened a new pull request, #26694:
URL: https://github.com/apache/beam/pull/26694

   Current initialization of FileSystems through `FileSystems.setDefaultPipelineOptions` is problematic and prone to race conditions, especially when triggered on deserialization of `SerializablePipelineOptions` (see #18430, BEAM-14465, BEAM-14355).
   
   Particularly with `S3FileSystem` this is bad as it can easily leak resources (threads!) if used this way (see #26321).
   
   Tracking the revision of pipeline options would allow to minimize re-initialization of file systems to cases where absolutely necessary based on monotonically increasing revisions (scoped to a particular pipeline). 
   
   ------------------------
   
   Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:
   
    - [ ] Mention the appropriate issue in your description (for example: `addresses #123`), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment `fixes #<ISSUE NUMBER>` instead.
    - [ ] Update `CHANGES.md` with noteworthy changes.
    - [ ] If this contribution is large, please file an Apache [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).
   
   See the [Contributor Guide](https://beam.apache.org/contribute) for more tips on [how to make review process smoother](https://beam.apache.org/contribute/get-started-contributing/#make-the-reviewers-job-easier).
   
   To check the build health, please visit [https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md](https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md)
   
   GitHub Actions Tests Status (on master branch)
   ------------------------------------------------------------------------------------------------
   [![Build python source distribution and wheels](https://github.com/apache/beam/workflows/Build%20python%20source%20distribution%20and%20wheels/badge.svg?branch=master&event=schedule)](https://github.com/apache/beam/actions?query=workflow%3A%22Build+python+source+distribution+and+wheels%22+branch%3Amaster+event%3Aschedule)
   [![Python tests](https://github.com/apache/beam/workflows/Python%20tests/badge.svg?branch=master&event=schedule)](https://github.com/apache/beam/actions?query=workflow%3A%22Python+Tests%22+branch%3Amaster+event%3Aschedule)
   [![Java tests](https://github.com/apache/beam/workflows/Java%20Tests/badge.svg?branch=master&event=schedule)](https://github.com/apache/beam/actions?query=workflow%3A%22Java+Tests%22+branch%3Amaster+event%3Aschedule)
   [![Go tests](https://github.com/apache/beam/workflows/Go%20tests/badge.svg?branch=master&event=schedule)](https://github.com/apache/beam/actions?query=workflow%3A%22Go+tests%22+branch%3Amaster+event%3Aschedule)
   
   See [CI.md](https://github.com/apache/beam/blob/master/CI.md) for more information about GitHub Actions CI.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [beam] aromanenko-dev merged pull request #26694: [Java] Track pipeline options revision for idempotent initialization of file systems

Posted by "aromanenko-dev (via GitHub)" <gi...@apache.org>.
aromanenko-dev merged PR #26694:
URL: https://github.com/apache/beam/pull/26694


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [beam] aromanenko-dev commented on pull request #26694: [Java] Track pipeline options revision for idempotent initialization of file systems

Posted by "aromanenko-dev (via GitHub)" <gi...@apache.org>.
aromanenko-dev commented on PR #26694:
URL: https://github.com/apache/beam/pull/26694#issuecomment-1658403534

   CC: @robertwb 
   PTAL


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [beam] mosche commented on a diff in pull request #26694: [Java] Track pipeline options revision for idempotent initialization of file systems

Posted by "mosche (via GitHub)" <gi...@apache.org>.
mosche commented on code in PR #26694:
URL: https://github.com/apache/beam/pull/26694#discussion_r1280443381


##########
sdks/java/core/src/main/java/org/apache/beam/sdk/options/PipelineOptions.java:
##########
@@ -357,6 +357,8 @@ public String create(PipelineOptions options) {
    */
   Map<String, Map<String, Object>> outputRuntimeOptions();
 
+  int revision();

Review Comment:
   ๐Ÿ‘ done



##########
sdks/java/core/src/main/java/org/apache/beam/sdk/options/PipelineOptions.java:
##########
@@ -357,6 +357,8 @@ public String create(PipelineOptions options) {
    */
   Map<String, Map<String, Object>> outputRuntimeOptions();
 
+  int revision();

Review Comment:
   ๐Ÿ‘ done



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [beam] mosche commented on a diff in pull request #26694: [Java] Track pipeline options revision for idempotent initialization of file systems

Posted by "mosche (via GitHub)" <gi...@apache.org>.
mosche commented on code in PR #26694:
URL: https://github.com/apache/beam/pull/26694#discussion_r1280446137


##########
sdks/java/core/src/test/java/org/apache/beam/sdk/options/PipelineOptionsFactoryTest.java:
##########
@@ -103,6 +103,18 @@ public class PipelineOptionsFactoryTest {
   @Rule public TestRule restoreSystemProperties = new RestoreSystemProperties();
   @Rule public ExpectedLogs expectedLogs = ExpectedLogs.none(PipelineOptionsFactory.class);
 
+  @Test
+  public void testRevision() {

Review Comment:
   @aromanenko-dev I've added a basic unit test



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [beam] aromanenko-dev commented on a diff in pull request #26694: [Java] Track pipeline options revision for idempotent initialization of file systems

Posted by "aromanenko-dev (via GitHub)" <gi...@apache.org>.
aromanenko-dev commented on code in PR #26694:
URL: https://github.com/apache/beam/pull/26694#discussion_r1279317466


##########
sdks/java/core/src/main/java/org/apache/beam/sdk/options/PipelineOptions.java:
##########
@@ -357,6 +357,8 @@ public String create(PipelineOptions options) {
    */
   Map<String, Map<String, Object>> outputRuntimeOptions();
 
+  int revision();

Review Comment:
   Please, add a javadoc for this



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [beam] github-actions[bot] commented on pull request #26694: [Proposal] Track pipeline options revision for idempotent initialization of file systems

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #26694:
URL: https://github.com/apache/beam/pull/26694#issuecomment-1636756046

   This pull request has been marked as stale due to 60 days of inactivity. It will be closed in 1 week if no further activity occurs. If you think thatโ€™s incorrect or this pull request requires a review, please simply write any comment. If closed, you can revive the PR at any time and @mention a reviewer or discuss it on the dev@beam.apache.org list. Thank you for your contributions.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [beam] mosche commented on pull request #26694: [Java] Track pipeline options revision for idempotent initialization of file systems

Posted by "mosche (via GitHub)" <gi...@apache.org>.
mosche commented on PR #26694:
URL: https://github.com/apache/beam/pull/26694#issuecomment-1639846521

   Run Java_IOs_Direct PreCommit


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [beam] mosche commented on pull request #26694: [Java] Track pipeline options revision for idempotent initialization of file systems

Posted by "mosche (via GitHub)" <gi...@apache.org>.
mosche commented on PR #26694:
URL: https://github.com/apache/beam/pull/26694#issuecomment-1643309656

   Run Java PreCommit


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [beam] aromanenko-dev commented on pull request #26694: [Java] Track pipeline options revision for idempotent initialization of file systems

Posted by "aromanenko-dev (via GitHub)" <gi...@apache.org>.
aromanenko-dev commented on PR #26694:
URL: https://github.com/apache/beam/pull/26694#issuecomment-1661719798

   Failed test of `Java PreCommit` is not related. 
   Merging.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [beam] github-actions[bot] commented on pull request #26694: [Java] Track pipeline options revision for idempotent initialization of file systems

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #26694:
URL: https://github.com/apache/beam/pull/26694#issuecomment-1639879585

   Assigning reviewers. If you would like to opt out of this review, comment `assign to next reviewer`:
   
   R: @robertwb for label java.
   
   Available commands:
   - `stop reviewer notifications` - opt out of the automated review tooling
   - `remind me after tests pass` - tag the comment author after tests pass
   - `waiting on author` - shift the attention set back to the author (any comment or push by the author will return the attention set to the reviewers)
   
   The PR bot will only process comments in the main thread (not review comments).


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [beam] mosche commented on pull request #26694: [Java] Track pipeline options revision for idempotent initialization of file systems

Posted by "mosche (via GitHub)" <gi...@apache.org>.
mosche commented on PR #26694:
URL: https://github.com/apache/beam/pull/26694#issuecomment-1639891363

   Run Java PreCommit


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [beam] mosche commented on pull request #26694: [Java] Track pipeline options revision for idempotent initialization of file systems

Posted by "mosche (via GitHub)" <gi...@apache.org>.
mosche commented on PR #26694:
URL: https://github.com/apache/beam/pull/26694#issuecomment-1661915763

   Thanks @aromanenko-dev 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [beam] github-actions[bot] commented on pull request #26694: [Java] Track pipeline options revision for idempotent initialization of file systems

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #26694:
URL: https://github.com/apache/beam/pull/26694#issuecomment-1651287459

   Stopping reviewer notifications for this pull request: review requested by someone other than the bot, ceding control


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [beam] mosche commented on pull request #26694: [Java] Track pipeline options revision for idempotent initialization of file systems

Posted by "mosche (via GitHub)" <gi...@apache.org>.
mosche commented on PR #26694:
URL: https://github.com/apache/beam/pull/26694#issuecomment-1651283805

   R: @aromanenko-dev 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [beam] mosche commented on pull request #26694: [Java] Track pipeline options revision for idempotent initialization of file systems

Posted by "mosche (via GitHub)" <gi...@apache.org>.
mosche commented on PR #26694:
URL: https://github.com/apache/beam/pull/26694#issuecomment-1641975428

   Run Java PreCommit


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [beam] aromanenko-dev commented on pull request #26694: [Java] Track pipeline options revision for idempotent initialization of file systems

Posted by "aromanenko-dev (via GitHub)" <gi...@apache.org>.
aromanenko-dev commented on PR #26694:
URL: https://github.com/apache/beam/pull/26694#issuecomment-1660346739

   Run Java PreCommit


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org