[
https://issues.apache.org/jira/browse/CAMEL-25873?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18129805#comment-18129805
]
Claus Ibsen commented on CAMEL-25873:
-------------------------------------
Merged via https://github.com/apache/camel/pull/28219
_Claude Code on behalf of davsclaus_
> camel-milo - the component's reconnectTimeout setter sets the request
> timeout, and the reconnect delay is not configurable
> --------------------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-25873
> URL: https://issues.apache.org/jira/browse/CAMEL-25873
> Project: Camel
> Issue Type: Bug
> Components: camel-milo
> Affects Versions: 4.23.0
> Reporter: Serdar Gökay
> Assignee: Serdar Gökay
> Priority: Minor
> Fix For: 4.24.0
>
>
> {{MiloClientComponent.setReconnectTimeout}} and
> {{MiloBrowseComponent.setReconnectTimeout}} (javadoc "Default reconnect
> timeout") call {{MiloClientConfiguration.setRequestTimeout}}. A reconnect
> timeout configured there therefore becomes the Milo request timeout of every
> service call (read, write, call, browse, CreateSession,
> CreateMonitoredItems), and the delay between two reconnect attempts stays
> what it has always been: 10 000 ms, hard-coded where {{MiloClientConnection}}
> creates its {{SubscriptionManager}} (since the initial import of the
> component in 2017; the setter has pointed at the request timeout since
> CAMEL-14568 in 2020).
> The two timeouts govern different things: the request timeout decides when a
> slow server call fails with {{Bad_Timeout}} and, in camel-milo, rebuilds the
> connection; the reconnect delay decides how often the client retries while
> the server is unreachable. A user who sets {{reconnectTimeout=2000}} on the
> component to retry faster keeps the 10 s retry and makes every request time
> out after 2 s instead.
> The setter is not an {{@Metadata}} option, so it does not appear in the
> component documentation; it is reachable from Java and through property
> binding on the component.
> *Proposal:* add a documented {{reconnectTimeout}} option to
> {{MiloClientConfiguration}} (label client, default 10000 ms, the current
> behaviour), pass it to {{SubscriptionManager}} in place of the constant, and
> make both component setters set it. I can provide the pull request.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)