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-13883] Remove unused AkkaOptions related to Akka's death watch #9553
Conversation
The ProcessReaper is a utility for the legacy distributed components. Hence, we should remove it.
We no longer use Akka's death watch. Hence, this commit removes the death watch related configuration options AkkaOptions#WATCH_HEARTBEAT_INTERVAL, AkkaOptions#WATCH_THRESHOLD and AkkaOptions#WATCH_HEARTBEAT_PAUSE.
Thanks a lot for your contribution to the Apache Flink project. I'm the @flinkbot. I help the community Automated ChecksLast check on commit dac927e (Fri Sep 06 09:08:56 UTC 2019) ✅no warnings Mention the bot in a comment to re-run the automated checks. Review Progress
Please see the Pull Request Review Guide for a full explanation of the review process. The Bot is tracking the review progress through labels. Labels are applied according to the order of the review items. For consensus, approval by a Flink committer of PMC member is required Bot commandsThe @flinkbot bot supports the following commands:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not quite sold on removing them outright; we have a fair amount of config options that nowadays have no effect, and we opted for deprecation instead of removal.
Unfortunately our handling of deprecated keys isn't very good:
For ConfigOptions
(which are read) with an explicit deprecatedKey(s)
we already log a warning; however nothing is ever logged when reading/writing options that are just marked as deprecated
.
I don't see a good way to handle see, bar defining an array of deprecated keys and checking the config for each of them on cluster startup.
In any case, if the goal is to cause compile errors; well, we could just change the field type to something incompatible. We'd somewhat retain the benefits of deprecation, albeit in a rather odd way.
It is rather unfortunate that we aren't able to add fallback keys for interval
and pause
to our existing HeartbeatManagerOptions just because the types differ. The proposed FLIP for evolving config options also doesn't seem to address that; although it would be rather trivial to handle if options could have dedicated parsers. @twalthr
+1 to the change Concerning the point to keep the ConfigOptions for the death watch: I see the point, and it seems to be in line with the handling of the old |
Thanks for the review @zentol and @StephanEwen. Thinking about it again, I would slightly lean towards a graceful removal of the configuration options via deprecation. I guess that the main part of the confusion for users comes from this option still being documented. This should no longer be the case once the options are deprecated. The other problem Stephan raised is that we misused the config option (in the context of the The benefit I see is that we don't break existing programs w/o prior notice (I guess it will be a very small set of affected programs). One could argue that breaking programs would be a kind of notification that one should no longer use this Can you live with this proposal @zentol and @StephanEwen? |
yes. |
Why did you close this PR @zentol? |
What is the purpose of the change
We no longer use Akka's death watch. Hence, this commit removes the death
watch related configuration options AkkaOptions#WATCH_HEARTBEAT_INTERVAL,
AkkaOptions#WATCH_THRESHOLD and AkkaOptions#WATCH_HEARTBEAT_PAUSE.
This PR changes the public evolving API and should, hence, add a release note about the removal of the configuration options.
This PR is based on #9552.
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:
@Public(Evolving)
: (no)Documentation