You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@beam.apache.org by "scwhittle (via GitHub)" <gi...@apache.org> on 2023/07/25 06:02:05 UTC
[GitHub] [beam] scwhittle opened a new pull request, #26631: Ensure that if grpc stream terminates that DirectStreamObserver does not block on Phaser.
scwhittle opened a new pull request, #26631:
URL: https://github.com/apache/beam/pull/26631
This can fix classes of stuckness during termination if the channel breaks but threads are blocked on the
phaser attempting to send.
------------------------
Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:
- [ ] Mention the appropriate issue in your description (for example: `addresses #123`), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment `fixes #<ISSUE NUMBER>` instead.
- [ ] Update `CHANGES.md` with noteworthy changes.
- [ ] If this contribution is large, please file an Apache [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).
See the [Contributor Guide](https://beam.apache.org/contribute) for more tips on [how to make review process smoother](https://beam.apache.org/contribute/get-started-contributing/#make-the-reviewers-job-easier).
To check the build health, please visit [https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md](https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md)
GitHub Actions Tests Status (on master branch)
------------------------------------------------------------------------------------------------
[](https://github.com/apache/beam/actions?query=workflow%3A%22Build+python+source+distribution+and+wheels%22+branch%3Amaster+event%3Aschedule)
[](https://github.com/apache/beam/actions?query=workflow%3A%22Python+Tests%22+branch%3Amaster+event%3Aschedule)
[](https://github.com/apache/beam/actions?query=workflow%3A%22Java+Tests%22+branch%3Amaster+event%3Aschedule)
[](https://github.com/apache/beam/actions?query=workflow%3A%22Go+tests%22+branch%3Amaster+event%3Aschedule)
See [CI.md](https://github.com/apache/beam/blob/master/CI.md) for more information about GitHub Actions CI.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [beam] scwhittle closed pull request #26631: Ensure that if grpc stream terminates that DirectStreamObserver does not block on Phaser.
Posted by "scwhittle (via GitHub)" <gi...@apache.org>.
scwhittle closed pull request #26631: Ensure that if grpc stream terminates that DirectStreamObserver does not block on Phaser.
URL: https://github.com/apache/beam/pull/26631
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [beam] Abacn commented on pull request #26631: Ensure that if grpc stream terminates that DirectStreamObserver does not block on Phaser.
Posted by "Abacn (via GitHub)" <gi...@apache.org>.
Abacn commented on PR #26631:
URL: https://github.com/apache/beam/pull/26631#issuecomment-1668107842
github action failures due to #27854 not related
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [beam] scwhittle commented on a diff in pull request #26631: Ensure that if grpc stream terminates that DirectStreamObserver does not block on Phaser.
Posted by "scwhittle (via GitHub)" <gi...@apache.org>.
scwhittle commented on code in PR #26631:
URL: https://github.com/apache/beam/pull/26631#discussion_r1285816451
##########
sdks/java/fn-execution/src/main/java/org/apache/beam/sdk/fn/stream/ForwardingClientResponseObserver.java:
##########
@@ -25,23 +25,27 @@
* A {@link ClientResponseObserver} which delegates all {@link StreamObserver} calls.
*
* <p>Used to wrap existing {@link StreamObserver}s to be able to install an {@link
- * ClientCallStreamObserver#setOnReadyHandler(Runnable) onReadyHandler}.
+ * ClientCallStreamObserver#setOnReadyHandler(Runnable) onReadyHandler} and a handler invoked when
+ * the stream terminates.
*
* <p>This is as thread-safe as the underlying stream observer that is being wrapped.
*/
public final class ForwardingClientResponseObserver<ReqT, RespT>
implements ClientResponseObserver<RespT, ReqT> {
public static <ReqT, RespT> ForwardingClientResponseObserver<ReqT, RespT> create(
- StreamObserver<ReqT> inbound, Runnable onReadyHandler) {
- return new ForwardingClientResponseObserver<>(inbound, onReadyHandler);
+ StreamObserver<ReqT> inbound, Runnable onReadyHandler, Runnable onDoneHandler) {
Review Comment:
It is internal AFAIK but it seems safer to add overload so went with that.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [beam] github-actions[bot] commented on pull request #26631: Ensure that if grpc stream terminates that DirectStreamObserver does not block on Phaser.
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #26631:
URL: https://github.com/apache/beam/pull/26631#issuecomment-1650831374
Assigning reviewers. If you would like to opt out of this review, comment `assign to next reviewer`:
R: @robertwb for label java.
Available commands:
- `stop reviewer notifications` - opt out of the automated review tooling
- `remind me after tests pass` - tag the comment author after tests pass
- `waiting on author` - shift the attention set back to the author (any comment or push by the author will return the attention set to the reviewers)
The PR bot will only process comments in the main thread (not review comments).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [beam] Abacn merged pull request #26631: Ensure that if grpc stream terminates that DirectStreamObserver does not block on Phaser.
Posted by "Abacn (via GitHub)" <gi...@apache.org>.
Abacn merged PR #26631:
URL: https://github.com/apache/beam/pull/26631
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [beam] github-actions[bot] commented on pull request #26631: Ensure that if grpc stream terminates that DirectStreamObserver does not block on Phaser.
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #26631:
URL: https://github.com/apache/beam/pull/26631#issuecomment-1663775067
Stopping reviewer notifications for this pull request: review requested by someone other than the bot, ceding control
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [beam] scwhittle commented on pull request #26631: Ensure that if grpc stream terminates that DirectStreamObserver does not block on Phaser.
Posted by "scwhittle (via GitHub)" <gi...@apache.org>.
scwhittle commented on PR #26631:
URL: https://github.com/apache/beam/pull/26631#issuecomment-1663773349
R: @Abacn
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [beam] scwhittle commented on pull request #26631: Ensure that if grpc stream terminates that DirectStreamObserver does not block on Phaser.
Posted by "scwhittle (via GitHub)" <gi...@apache.org>.
scwhittle commented on PR #26631:
URL: https://github.com/apache/beam/pull/26631#issuecomment-1656380493
Run Java PreCommit
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [beam] scwhittle commented on a diff in pull request #26631: Ensure that if grpc stream terminates that DirectStreamObserver does not block on Phaser.
Posted by "scwhittle (via GitHub)" <gi...@apache.org>.
scwhittle commented on code in PR #26631:
URL: https://github.com/apache/beam/pull/26631#discussion_r1285817853
##########
sdks/java/fn-execution/src/main/java/org/apache/beam/sdk/fn/stream/DirectStreamObserver.java:
##########
@@ -101,6 +101,11 @@ public void onNext(T value) {
+ "this issue.",
Review Comment:
I don't think it is worthwhile history or filing an issue. I just tried to update comment to summarize what was going on. PTAL
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [beam] scwhittle closed pull request #26631: Ensure that if grpc stream terminates that DirectStreamObserver does not block on Phaser.
Posted by "scwhittle (via GitHub)" <gi...@apache.org>.
scwhittle closed pull request #26631: Ensure that if grpc stream terminates that DirectStreamObserver does not block on Phaser.
URL: https://github.com/apache/beam/pull/26631
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [beam] github-actions[bot] commented on pull request #26631: Ensure that if grpc stream terminates that DirectStreamObserver does not block on Phaser.
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #26631:
URL: https://github.com/apache/beam/pull/26631#issuecomment-1542278352
Checks are failing. Will not request review until checks are succeeding. If you'd like to override that behavior, comment `assign set of reviewers`
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [beam] Abacn commented on a diff in pull request #26631: Ensure that if grpc stream terminates that DirectStreamObserver does not block on Phaser.
Posted by "Abacn (via GitHub)" <gi...@apache.org>.
Abacn commented on code in PR #26631:
URL: https://github.com/apache/beam/pull/26631#discussion_r1284560328
##########
sdks/java/fn-execution/src/main/java/org/apache/beam/sdk/fn/stream/DirectStreamObserver.java:
##########
@@ -101,6 +101,11 @@ public void onNext(T value) {
+ "this issue.",
Review Comment:
"https://issues.apache.org/jira/browse/BEAM-4280 for the history for this issue."
shall we update this link (to a GitHub Issue) and also print in the warn message / or remove the outdated JIRA link at INFO message
##########
sdks/java/fn-execution/src/main/java/org/apache/beam/sdk/fn/stream/ForwardingClientResponseObserver.java:
##########
@@ -25,23 +25,27 @@
* A {@link ClientResponseObserver} which delegates all {@link StreamObserver} calls.
*
* <p>Used to wrap existing {@link StreamObserver}s to be able to install an {@link
- * ClientCallStreamObserver#setOnReadyHandler(Runnable) onReadyHandler}.
+ * ClientCallStreamObserver#setOnReadyHandler(Runnable) onReadyHandler} and a handler invoked when
+ * the stream terminates.
*
* <p>This is as thread-safe as the underlying stream observer that is being wrapped.
*/
public final class ForwardingClientResponseObserver<ReqT, RespT>
implements ClientResponseObserver<RespT, ReqT> {
public static <ReqT, RespT> ForwardingClientResponseObserver<ReqT, RespT> create(
- StreamObserver<ReqT> inbound, Runnable onReadyHandler) {
- return new ForwardingClientResponseObserver<>(inbound, onReadyHandler);
+ StreamObserver<ReqT> inbound, Runnable onReadyHandler, Runnable onDoneHandler) {
Review Comment:
public method signature changed. iiuc this is internal class, should it actually be package private; or keep the original overwrite method (without onDoneHandler)?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [beam] scwhittle commented on pull request #26631: Ensure that if grpc stream terminates that DirectStreamObserver does not block on Phaser.
Posted by "scwhittle (via GitHub)" <gi...@apache.org>.
scwhittle commented on PR #26631:
URL: https://github.com/apache/beam/pull/26631#issuecomment-1661947237
assign to next reviewer
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org