[
https://issues.apache.org/jira/browse/BEAM-8557?focusedWorklogId=339690&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-339690
]
ASF GitHub Bot logged work on BEAM-8557:
----------------------------------------
Author: ASF GitHub Bot
Created on: 07/Nov/19 02:03
Start Date: 07/Nov/19 02:03
Worklog Time Spent: 10m
Work Description: sunjincheng121 commented on pull request #9991:
[BEAM-8557] Cleanup the useless null check for ResponseStreamObserver…
URL: https://github.com/apache/beam/pull/9991#discussion_r343423145
##########
File path:
runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/FnApiControlClient.java
##########
@@ -148,16 +148,14 @@ public void onNext(BeamFnApi.InstructionResponse
response) {
LOG.debug("Received InstructionResponse {}", response);
CompletableFuture<BeamFnApi.InstructionResponse> responseFuture =
outstandingRequests.remove(response.getInstructionId());
- if (responseFuture != null) {
- if (response.getError().isEmpty()) {
- responseFuture.complete(response);
- } else {
- responseFuture.completeExceptionally(
- new RuntimeException(
- String.format(
- "Error received from SDK harness for instruction %s: %s",
- response.getInstructionId(), response.getError())));
- }
+ if (response.getError().isEmpty()) {
Review comment:
Totally agree that this may mean a bug in the SDK harness if it happens. I'm
just thinking that a log message may be not enough as it's easy to be ignored.
An exception makes sure that problem was discovered in time. But I'm fine if
you think log is enough as users will investigate the log if there are serious
problem for them after all. So, we need only add a WARNING log for this case,
right?
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 339690)
Time Spent: 1h 40m (was: 1.5h)
> Clean up useless null check.
> ----------------------------
>
> Key: BEAM-8557
> URL: https://issues.apache.org/jira/browse/BEAM-8557
> Project: Beam
> Issue Type: Sub-task
> Components: runner-core, sdk-java-harness
> Reporter: sunjincheng
> Assignee: sunjincheng
> Priority: Major
> Time Spent: 1h 40m
> Remaining Estimate: 0h
>
> I think we do not need null check here:
> [https://github.com/apache/beam/blob/master/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/FnApiControlClient.java#L151]
> Because before the the `onNext` call, the `Future` already put into the queue
> in `handle` method.
>
> I found the test as follows:
> {code:java}
> @Test
> public void testUnknownResponseIgnored() throws Exception{code}
> I do not know why we need test this case? I think it would be better if we
> throw the Exception for an UnknownResponse, otherwise, this may hidden a
> potential bug.
> Please correct me if there anything I misunderstand @kennknowles
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)