[
https://issues.apache.org/jira/browse/CAMEL-26606?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen updated CAMEL-26606:
--------------------------------
Fix Version/s: 4.24.0
> camel-platform-http-vertx - a failed bind of the HTTP server is only logged,
> so the CamelContext starts with nothing listening
> ------------------------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-26606
> URL: https://issues.apache.org/jira/browse/CAMEL-26606
> Project: Camel
> Issue Type: Bug
> Components: camel-platform-http-vertx
> Affects Versions: 4.22.0
> Reporter: Andrea Cosentino
> Assignee: Andrea Cosentino
> Priority: Major
> Fix For: 4.24.0
>
>
> In {{VertxPlatformHttpServer.startServer()}}, the result of
> {{HttpServer.listen(...)}} is handled in the {{onComplete}} callback. When
> the bind fails (for example with {{Address already in use}}), the callback
> logs a WARN and throws a {{RuntimeException}}. That exception is thrown in
> the Vert.x callback, not in the thread that waits on the latch. The latch is
> counted down in {{finally}}, the {{CompletableFuture.runAsync}} task
> completes normally, and {{startServer()}} returns. The {{CamelContext}}
> starts, and its routes report as started, although nothing listens on the
> port.
> Seen with the Camel Kafka Connector webhook source connector, which uses
> camel-platform-http-main. A second task on the same worker, or a task
> restarted before the previous one released the port, stays RUNNING but never
> receives a request.
> *Expected:* a failed bind makes the HTTP server, and so the {{CamelContext}},
> fail to start, with the bind error as the cause.
> *Fix:* keep the failure from the callback (for example in an
> {{AtomicReference}}) and rethrow it from {{startServer()}} after the latch.
> _Claude Code on behalf of Andrea Cosentino_
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)