[ 
https://issues.apache.org/jira/browse/BEAM-6708?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stefan updated BEAM-6708:
-------------------------
    Description: 
When '_read_from_pubsub' (runnners/direct/transform_evaluator.py:448) is being 
invoked, it will create a Pubsub SubscriberClient. This will create a grpc 
channel which is not being closed. When you run a pipeline with the direct 
runner which has a pubsub source in it, it will run eventually into an error: 
"too many open files". This is because these grpc channels are never being 
closed.

The suggestion is to wrap the code after the creation of the client in a 
try/finally block and close the channel (exposed on 
sub_client.api.transport._channel) in the finally block.

  was:
When 

_read_from_pubsub is being invoked, it will create a Pubsub SubscriberClient. 
This will create a grpc channel which is not being closed. When you run a 
pipeline with the direct runner which has a pubsub source in it, it will run 
eventually into an error: "too many open files". This is because these grpc 
channels are never being closed.

The suggestion is to wrap the code after the creation of the client in a 
try/finally block and close the channel (exposed on 
sub_client.api.transport._channel) in the finally block.


> Too many open files due grpc channel not being closed (direct runnner Pubsub 
> source)
> ------------------------------------------------------------------------------------
>
>                 Key: BEAM-6708
>                 URL: https://issues.apache.org/jira/browse/BEAM-6708
>             Project: Beam
>          Issue Type: Bug
>          Components: runner-direct
>    Affects Versions: 2.10.0
>            Reporter: Stefan
>            Priority: Major
>
> When '_read_from_pubsub' (runnners/direct/transform_evaluator.py:448) is 
> being invoked, it will create a Pubsub SubscriberClient. This will create a 
> grpc channel which is not being closed. When you run a pipeline with the 
> direct runner which has a pubsub source in it, it will run eventually into an 
> error: "too many open files". This is because these grpc channels are never 
> being closed.
> The suggestion is to wrap the code after the creation of the client in a 
> try/finally block and close the channel (exposed on 
> sub_client.api.transport._channel) in the finally block.



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

Reply via email to