-
Notifications
You must be signed in to change notification settings - Fork 13.3k
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-25831] Retrieve the latest non-null prior property from ExecutionVertex #18526
Conversation
Thanks a lot for your contribution to the Apache Flink project. I'm the @flinkbot. I help the community Automated ChecksLast check on commit 53af153 (Wed Jan 26 22:55:53 UTC 2022) 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.
Thanks for the PR Till, LGTM overall 👍 I've added few comments, please take a look
...runtime/src/main/java/org/apache/flink/runtime/scheduler/ExecutionSlotAllocationContext.java
Outdated
Show resolved
Hide resolved
* @return Optional containing the latest property if it exists; otherwise {@code | ||
* Optional.empty()}. | ||
*/ | ||
private <T> Optional<T> getLatestPriorProperty(Function<ArchivedExecution, T> extractor) { |
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.
just wondering, body of the this method used to be synchronized, is it safe to remove that?
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.
Yes. The ExecutionGraph
used to be thread safe but not it is only driven by a single thread. This made many things a lot easier.
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.
Should we remove the synchronization from other places as well then? eg. ExecutionVertex#getPriorExecutionAttempt
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.
Eventually, we should remove it, yes.
flink-runtime/src/main/java/org/apache/flink/runtime/executiongraph/ExecutionVertex.java
Show resolved
Hide resolved
53af153
to
5079c70
Compare
Thanks for the review @dmvk. I've addressed your comments and pushed a rebased update. PTAL. |
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.
👍 LGTM, thanks for the update
Thanks for the review @dmvk. Merging this PR now. |
This commit exposes the EvictingBoundedList.isDroppedIndex method to allow for checks whether an element in the list has already been dropped.
…ionVertex In order to not lose information about prior Executions, this commit iterates over all prior executions in the ExecutionVertex in order to find the first non-null prior location and allocation. This closes apache#18526.
5079c70
to
f7cf926
Compare
…ionVertex In order to not lose information about prior Executions, this commit iterates over all prior executions in the ExecutionVertex in order to find the first non-null prior location and allocation. This closes apache#18526.
What is the purpose of the change
In order to not lose information about prior Executions, this commit iterates over all
prior executions in the ExecutionVertex in order to find the first non-null prior location
and allocation.
Does this pull request potentially affect one of the following parts:
@Public(Evolving)
: (yes / no)Documentation