You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (Jira)" <ji...@apache.org> on 2026/10/06 10:53:00 UTC

[jira] [Assigned] (CAMEL-25364) camel-jbang - a failed run or restart returns its cause, and camel_run does not start a second copy of an app that already runs from the directory

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

Claus Ibsen reassigned CAMEL-25364:
-----------------------------------

    Assignee: Claus Ibsen

> camel-jbang - a failed run or restart returns its cause, and camel_run does not start a second copy of an app that already runs from the directory
> --------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-25364
>                 URL: https://issues.apache.org/jira/browse/CAMEL-25364
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-jbang
>            Reporter: Claus Ibsen
>            Assignee: Claus Ibsen
>            Priority: Major
>             Fix For: 4.23.0
>
>
> Two problems with the tools that start an integration, found in the local-model benchmark (r5, run-order-generator: 9 of the 37 failed steps).
> *1. A failed start or restart hides its cause.* When {{camel_control restart}} or {{camel_run}} fails, the result is the last 4000 characters of the console output. That is mostly stack frames of the runtime:
> {noformat}Restart of run-order-generator failed with exit code 1:
> ...e.java:177)
> 	at org.apache.camel.impl.engine.AbstractCamelContext.startingRoutes(AbstractCamelContext.java:1196)
> 	at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:640)
> 	...{noformat}
> The line that says what went wrong is above the cut. The model then calls camel_get_log and camel_get_errors to find it, and runs out of tool calls. A person reading it fares no better.
> Proposal: return the console output the way {{camel_get_log}} shows a log (CAMEL-25296). Each record keeps its message, and an error keeps its root cause and the first frame of the user's code; the stack frames are left out. The restart result also says that the integration is stopped now and that camel_run starts it again once the cause is fixed.
> *2. {{camel_run}} on a directory whose app already runs starts a second copy.* After a restart the model often calls {{camel_run}} on the same directory. The second copy fights the first for ports and files, and the name becomes ambiguous to the other tools ("No unique Camel process found matching ..."). In the benchmark one such copy held port 8080 for six hours.
> Proposal: when the whole directory is the app ({{camel run --source-dir}}, no files given) and an integration already runs from that directory, camel_run returns that one (status running, pid, name) instead of starting another. With explicit files nothing changes, since one directory may hold several apps.
> _Claude Code on behalf of davsclaus_



--
This message was sent by Atlassian Jira
(v8.20.10#820010)