[ 
https://issues.apache.org/jira/browse/BEAM-12523?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17549482#comment-17549482
 ] 

Danny McCormick commented on BEAM-12523:
----------------------------------------

This issue has been migrated to https://github.com/apache/beam/issues/21075

> Number of connection issue
> --------------------------
>
>                 Key: BEAM-12523
>                 URL: https://issues.apache.org/jira/browse/BEAM-12523
>             Project: Beam
>          Issue Type: Bug
>          Components: io-java-jms
>    Affects Versions: 2.30.0
>            Reporter: Vincent BALLADA
>            Priority: P3
>
> The maximum number of connections using JmsIO.Read seems to grow in an 
> uncontrolled way, causing new connections to be rejected by the broker if the 
> number exceeds the configured quota on broker side.
> The number of connections is related to the number of workers allocated by 
> the runner, and the number of threads configured per worker, at least at the 
> beginning.
> Our assumption is:
> JmsCheckPointMark is mutable (private Instant oldestMessageTimestamp – this 
> field is updated for each message received). What we think it’s happening, 
> with direct runner at least, the runner is unable to retrieve existing JMSIO 
> readers (JmsCheckPointMark is used as a key - as part of  splitable pardo 
> restriction object - for retrieving active JMSIO Readers, and because it’s 
> mutated for each received message,  the runner will create a new reader for 
> each new received message – that’s why the connections number spins out of 
> control at least in DirectRunner). This is the reason that target parallelism 
> parameter helps on controlling the ‘initial’ number of active connections, 
> but later on we have issues.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to