-
Notifications
You must be signed in to change notification settings - Fork 13.4k
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-25096][runtime] Fixes empty exception history for JobInitializationException #17967
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 b456694 (Tue Nov 30 15:59:42 UTC 2021) 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.
This fix LGTM overall, great job! 🎉 I have few minor comments on test cosmetics.
...ime/src/test/java/org/apache/flink/runtime/jobmaster/DefaultJobMasterServiceProcessTest.java
Outdated
Show resolved
Hide resolved
...ime/src/test/java/org/apache/flink/runtime/jobmaster/DefaultJobMasterServiceProcessTest.java
Show resolved
Hide resolved
...ime/src/test/java/org/apache/flink/runtime/jobmaster/DefaultJobMasterServiceProcessTest.java
Outdated
Show resolved
Hide resolved
flink-runtime/src/test/java/org/apache/flink/runtime/scheduler/ExecutionGraphInfoTest.java
Outdated
Show resolved
Hide resolved
...ime/src/test/java/org/apache/flink/runtime/jobmaster/DefaultJobMasterServiceProcessTest.java
Outdated
Show resolved
Hide resolved
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.
This is a nice progress,I'm really starting to like the new assertj ecosystem.
In general I'm in favor of more sophisticated assertions, however I think we should only provide custom InstanceOfAssertFactory
factories, that could be nicely chained into the existing assertion ecosystem.
Also I'm not convinced about need for custom asserts for completable futures, the ones provided by assertj are IMO sufficient.
I've added few examples on how the current assert could be simplified / implemented using existing asserts.
WDYT?
...ime/src/test/java/org/apache/flink/runtime/jobmaster/DefaultJobMasterServiceProcessTest.java
Outdated
Show resolved
Hide resolved
...ime/src/test/java/org/apache/flink/runtime/jobmaster/DefaultJobMasterServiceProcessTest.java
Outdated
Show resolved
Hide resolved
...ime/src/test/java/org/apache/flink/runtime/jobmaster/DefaultJobMasterServiceProcessTest.java
Outdated
Show resolved
Hide resolved
flink-core/src/test/java/org/apache/flink/testutils/assertj/FlinkAsserts.java
Outdated
Show resolved
Hide resolved
...ime/src/test/java/org/apache/flink/runtime/jobmaster/DefaultJobMasterServiceProcessTest.java
Outdated
Show resolved
Hide resolved
...ime/src/test/java/org/apache/flink/runtime/jobmaster/DefaultJobMasterServiceProcessTest.java
Outdated
Show resolved
Hide resolved
flink-core/src/test/java/org/apache/flink/testutils/assertj/CauseTreeContainsAssert.java
Outdated
Show resolved
Hide resolved
flink-core/src/test/java/org/apache/flink/testutils/assertj/CauseTreeContainsAssert.java
Outdated
Show resolved
Hide resolved
flink-core/src/test/java/org/apache/flink/testutils/assertj/CauseTreeContainsAssert.java
Outdated
Show resolved
Hide resolved
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 overall 👍 I've few more questions / comments on the new asserts for exception testing.
Would it make sense (especially for assertj newcomers) to add an example to the documentation on how to use / discover / extend these asserts?
Although, I'm not that sure anymore whether |
@slinkydeveloper I refactored your code after I realized that there was some concurrent development on the same issue. I moved the code into |
flink-core/src/test/java/org/apache/flink/testutils/assertj/CauseTreeContainsAssert.java
Outdated
Show resolved
Hide resolved
172e638
to
105b37d
Compare
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, good job 🎉 👍 Can you please squash the commit history before merging?
What is the purpose of the change
The
ExecutionGraphInfo
was not initialized properly if a failure happened during the initialization phase. The failure was stored in theArchivedExecutionGraph
but not in theCollection
ofRootExceptionHistoryEntry
elements.Brief change log
Instead of providing an empty list, a
RootExceptionHistoryEntry
is added if the passedExecutionGraph
contains a failure.Verifying this change
I extended the
DefaultJobMasterServiceProcessTest
to cover theJobInitializationError
case and introducedExecutionGraphInfoTest
.Does this pull request potentially affect one of the following parts:
@Public(Evolving)
: noDocumentation