Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FLINK-10580] Harden BootstrapTool#startActorSystem #6867

Merged
merged 1 commit into from Oct 18, 2018

Conversation

tillrohrmann
Copy link
Contributor

What is the purpose of the change

Instead of opening a socket to check whether a given port is free we simply start an
ActorSystem with it an check whether it can bind to this port. This also solves the problem
that a 0 port get resolved to a specific port which might get taken between closing the
test socket and starting the ActorSystem.

Verifying this change

  • Added BootstrapToolsTest#testConcurrentActorSystemCreation which failed without this change (non-deterministically)

Does this pull request potentially affect one of the following parts:

  • Dependencies (does it add or upgrade a dependency): (no)
  • The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
  • The serializers: (no)
  • The runtime per-record code paths (performance sensitive): (no)
  • Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (no)
  • The S3 file system connector: (no)

Documentation

  • Does this pull request introduce a new feature? (no)
  • If yes, how is the feature documented? (not applicable)

Instead of opening a socket to check whether a given port is free we simply start an
ActorSystem with it an check whether it can bind to this port. This also solves the problem
that a 0 port get resolved to a specific port which might get taken between closing the
test socket and starting the ActorSystem.
Copy link
Contributor

@zentol zentol left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, great that we simplify this code, I always found it to be a little suspect.

Copy link
Member

@tisonkun tisonkun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 great change!

@tillrohrmann
Copy link
Contributor Author

Thanks for the review @zentol and @tisonkun. Merging this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants