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

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

                Author: ASF GitHub Bot
            Created on: 21/Apr/21 15:48
            Start Date: 21/Apr/21 15:48
    Worklog Time Spent: 10m 
      Work Description: scwhittle commented on pull request #14603:
URL: https://github.com/apache/beam/pull/14603#issuecomment-824167903


   Realized that this could further be simplified by just instructing grpc to 
use the desired executor and we can execute requests inline to the observer.
   
   The previous path involved several thread switches:
   grpc executor -> direct observer which queued -> thread reading queue, 
queues on executor -> executor runs request
   or even worse if the buffering observer was enabled
   grpc executor -> buffering observer queues -> buffering observer pulling 
thread pulls from buffer queues on unbounded buffer -> thread reads queue, 
queues on executor -> executor runs request
   


-- 
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: 586690)
    Time Spent: 0.5h  (was: 20m)

> Remove LinkedBlockingQueue from BeamFnControlClient
> ---------------------------------------------------
>
>                 Key: BEAM-12203
>                 URL: https://issues.apache.org/jira/browse/BEAM-12203
>             Project: Beam
>          Issue Type: Bug
>          Components: sdk-java-harness
>            Reporter: Sam Whittle
>            Assignee: Sam Whittle
>            Priority: P2
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> This class has a grpc observer that queues recieved messages on a 
> LinkedBlockingQueue and then has a separate thread pulling from the the queue 
> to add to an executor.
> Instead we could just add directly to the executor from the grpc stream, as 
> the executor by default has an unbounded queue size (and there are comments 
> indicating that a limited size executor can cause deadlocks otherwise)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to