[ 
https://issues.apache.org/jira/browse/BEAM-6512?focusedWorklogId=198162&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-198162
 ]

ASF GitHub Bot logged work on BEAM-6512:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 13/Feb/19 15:41
            Start Date: 13/Feb/19 15:41
    Worklog Time Spent: 10m 
      Work Description: TheNeuralBit commented on issue #7794: [BEAM-6512] Run 
GrpcDataServiceTest clients on the main thread
URL: https://github.com/apache/beam/pull/7794#issuecomment-463247784
 
 
   I think the cause of the race condition is that the futures can return 
before the clients receive all the data. Nothing in the future is blocking 
until all the messages have been received. There's a build scan with some 
additional logging in 
[BEAM-6512](https://issues.apache.org/jira/browse/BEAM-6512) where you can see 
this happening.
   
   As far as the intent of the test, my understanding is that we're trying to 
test 
[this](https://github.com/apache/beam/blob/b953645ed6db837d24284d7fe1fe091e7309f821/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/data/GrpcDataService.java#L98),
 which attempts to ensure only one of the created multiplexers is actually used.
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
-------------------

    Worklog Id:     (was: 198162)
    Time Spent: 2h  (was: 1h 50m)

> [beam_PreCommit_Java_Cron] [GrpcDataServiceTest] Flake, Multiplexer hanging up
> ------------------------------------------------------------------------------
>
>                 Key: BEAM-6512
>                 URL: https://issues.apache.org/jira/browse/BEAM-6512
>             Project: Beam
>          Issue Type: Bug
>          Components: test-failures
>            Reporter: Daniel Oliveira
>            Assignee: Brian Hulette
>            Priority: Minor
>              Labels: currently-failing, flake, triaged
>          Time Spent: 2h
>  Remaining Estimate: 0h
>
> _Use this form to file an issue for test failure:_
>  * [Jenkins Job|https://builds.apache.org/job/beam_PreCommit_Java_Cron/869/]
>  * [Gradle Build Scan|https://scans.gradle.com/s/wodzocvegyy5a]
>  * [Test source 
> code|https://github.com/apache/beam/blob/f560edc5a4e38cb13d41718540271ae79d7d00ee/runners/java-fn-execution/src/test/java/org/apache/beam/runners/fnexecution/data/GrpcDataServiceTest.java#L105]
> Initial investigation:
> I see this message:
> {noformat}
> org.apache.beam.runners.fnexecution.data.GrpcDataServiceTest > 
> testMessageReceivedBySingleClientWhenThereAreMultipleClients FAILED
>     java.lang.AssertionError at GrpcDataServiceTest.java:105
> {noformat}
> And this message:
> {noformat}
> [grpc-default-executor-2] WARN 
> org.apache.beam.sdk.fn.data.BeamFnDataGrpcMultiplexer - Hanged up for unknown 
> endpoint.
> Jan 25, 2019 6:16:02 PM 
> org.apache.beam.vendor.grpc.v1p13p1.io.grpc.internal.SerializingExecutor run
> SEVERE: Exception while executing runnable 
> org.apache.beam.vendor.grpc.v1p13p1.io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed@41415b8e
> java.lang.RuntimeException: 
> org.apache.beam.vendor.grpc.v1p13p1.io.grpc.StatusRuntimeException: 
> CANCELLED: Multiplexer hanging up
>       at 
> org.apache.beam.sdk.fn.test.TestStreams.lambda$throwingErrorHandler$0(TestStreams.java:95)
>       at 
> org.apache.beam.sdk.fn.test.TestStreams$ForwardingCallStreamObserver.onError(TestStreams.java:144)
>       at 
> org.apache.beam.vendor.grpc.v1p13p1.io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onClose(ClientCalls.java:420)
>       at 
> org.apache.beam.vendor.grpc.v1p13p1.io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39)
>       at 
> org.apache.beam.vendor.grpc.v1p13p1.io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23)
>       at 
> org.apache.beam.vendor.grpc.v1p13p1.io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40)
>       at 
> org.apache.beam.vendor.grpc.v1p13p1.io.grpc.internal.CensusStatsModule$StatsClientInterceptor$1$1.onClose(CensusStatsModule.java:684)
>       at 
> org.apache.beam.vendor.grpc.v1p13p1.io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39)
>       at 
> org.apache.beam.vendor.grpc.v1p13p1.io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23)
>       at 
> org.apache.beam.vendor.grpc.v1p13p1.io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40)
>       at 
> org.apache.beam.vendor.grpc.v1p13p1.io.grpc.internal.CensusTracingModule$TracingClientInterceptor$1$1.onClose(CensusTracingModule.java:403)
>       at 
> org.apache.beam.vendor.grpc.v1p13p1.io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:459)
>       at 
> org.apache.beam.vendor.grpc.v1p13p1.io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:63)
>       at 
> org.apache.beam.vendor.grpc.v1p13p1.io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.close(ClientCallImpl.java:546)
>       at 
> org.apache.beam.vendor.grpc.v1p13p1.io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.access$600(ClientCallImpl.java:467)
>       at 
> org.apache.beam.vendor.grpc.v1p13p1.io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:584)
>       at 
> org.apache.beam.vendor.grpc.v1p13p1.io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
>       at 
> org.apache.beam.vendor.grpc.v1p13p1.io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>       at java.lang.Thread.run(Thread.java:748)
> Caused by: 
> org.apache.beam.vendor.grpc.v1p13p1.io.grpc.StatusRuntimeException: 
> CANCELLED: Multiplexer hanging up
>       at 
> org.apache.beam.vendor.grpc.v1p13p1.io.grpc.Status.asRuntimeException(Status.java:526)
>       ... 19 more
> {noformat}
> Note that the second message is something I've seen when successfully ending 
> a job without in portable runners (specifically the Java Reference Runner), 
> so it might be a red herring.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to