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-5232] Add a Thread default uncaught exception handler on the JobManager #6334

Closed
wants to merge 1 commit into from

Conversation

yanghua
Copy link
Contributor

@yanghua yanghua commented Jul 14, 2018

What is the purpose of the change

This pull request Add a Thread default uncaught exception handler on the JobManager

Brief change log

  • Add a Thread default uncaught exception handler on the JobManager

Verifying this change

This change is a trivial rework / code cleanup without any test coverage.

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

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

Documentation

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

@yanghua
Copy link
Contributor Author

yanghua commented Jul 14, 2018

hi @tillrohrmann I tried to fix this issue based on your suggestion in the jira. But there seems a little question, I want to consult you.

The question is about the ActorSystem, you suggested add the uncaught exception handler for the ActorSystem. To do this, we should extend the ActorSystemImpl (the default implementation). This class's constructor has many parameters. I am not very familiar with it. So I tried fill the "default" params. I ran the test case, they always failed because of the fifth parameter.

So the question is the ActorSystemImpl is marked as InternalApi , it may be changed in the future, shall we extend a actor system based with it? If yes, what's the correct value for these parameter?

I saw some similar customized case, such as this and this. However, it seems their version are both lower.

So hope for your idea and suggestion.

@yanghua
Copy link
Contributor Author

yanghua commented Jul 18, 2018

@tillrohrmann and @zentol opinion?

@tillrohrmann
Copy link
Contributor

Thanks for opening this PR @yanghua. The community is currently preparing the Flink 1.6 release. Due to this, it might take a bit longer until someone can review this PR. Please bear with us until then.

@tillrohrmann
Copy link
Contributor

Hi @yanghua, I think your approach goes in the right direction. Extending ActorSystemImpl allows us to set a custom uncaught exception handler. It is a bit tricky since we have to put our own RobustActorSystem in the same package as ActorSystemImpl. But I think this is ok since it only affects a single class. I've taken your work and extended it a bit in #6539 (second commit). What do you think?

@yanghua
Copy link
Contributor Author

yanghua commented Aug 10, 2018

@tillrohrmann good job, thanks for helping me to extend it.

@yanghua
Copy link
Contributor Author

yanghua commented Aug 10, 2018

so, I close this PR?

@tillrohrmann
Copy link
Contributor

I'll close this PR when merging #6539

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

Successfully merging this pull request may close these issues.

3 participants