-
Notifications
You must be signed in to change notification settings - Fork 13.2k
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-23474] Extract internal version of InputStatus #16581
Conversation
cc @pnowojski |
Thanks a lot for your contribution to the Apache Flink project. I'm the @flinkbot. I help the community Automated ChecksLast check on commit b632e35 (Sat Aug 28 12:22:19 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.
LGTM % a couple of minor comments
private DataInputStatus convertToInternalStatus(InputStatus inputStatus) { | ||
switch (inputStatus) { | ||
case MORE_AVAILABLE: | ||
return DataInputStatus.MORE_AVAILABLE; | ||
case NOTHING_AVAILABLE: | ||
return DataInputStatus.NOTHING_AVAILABLE; | ||
case END_OF_INPUT: | ||
return DataInputStatus.END_OF_INPUT; | ||
default: | ||
throw new IllegalArgumentException("Unknown input status: " + inputStatus); | ||
} |
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 would be curious how well JIT can optimise this... probably as long as sourceReader.pollNext()
is de-virtualised and inlined this will be for free. But otherwise I would guess it will cost a couple of CPU cycles. Either way I don't expect this to be visible as a performance regression, but I'm just curious...
/** Indicator that all persisted data of the data exchange has been successfully restored. */ | ||
END_OF_RECOVERY, | ||
|
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 change requires a release note 🙄
* An {@code InputStatus} indicates the availability of data from an asynchronous input. When asking | ||
* an asynchronous input to produce data, it returns this status to indicate how to proceed. | ||
* | ||
* <p>It is an internal equivalent of {@link org.apache.flink.core.io.InputStatus} that provides | ||
* additional non public statuses. |
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.
nitty nit: reverse order of the paragraphs? Start with:
DataInputStatus is an internal equivalent of {@link org.apache.flink.core.io.InputStatus} that provides additional non public statuses.
?
33acb9c
to
2a96fd5
Compare
@flinkbot run azure |
This commit separates internal and user facing versions of InputStatus. User sources should never return e.g. the END_OF_RECOVERY status and thus we need an internal status.
@flinkbot run azure |
What is the purpose of the change
This commit separates internal and user facing versions of InputStatus.
User sources should never return e.g. the END_OF_RECOVERY status and
thus we need an internal status.
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)
: (yes / no)Documentation