[
https://issues.apache.org/jira/browse/CAMEL-25057?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Work on CAMEL-25057 started by Claus Ibsen.
-------------------------------------------
> camel-console - Dev consoles: fix bugs found in a deep review
> -------------------------------------------------------------
>
> Key: CAMEL-25057
> URL: https://issues.apache.org/jira/browse/CAMEL-25057
> Project: Camel
> Issue Type: Bug
> Components: camel-core
> Reporter: Claus Ibsen
> Assignee: Claus Ibsen
> Priority: Major
>
> A deep review of the dev consoles in camel-console found the bugs below. Each
> one was reproduced against 4.23.0-SNAPSHOT; four have a test that fails
> without the fix.
> # *The consumer console never shows the details of a scheduled poll consumer*
> (scheduled, polling, delay, backoff ...). It tested whether the
> ManagedCamelContext (not the consumer) was a
> ManagedSchedulePollConsumerMBean, and the managed consumer is a JMX proxy of
> ManagedConsumerMBean only, so it is never an instance of the scheduled poll
> interface either. It now asks for the scheduled poll proxy when the route
> consumer is a ScheduledPollConsumer.
> # *The processor console with limit returns one processor too many in JSON*
> (the text output was right).
> # *The trace console dumps with dump=false*: any value of the dump option
> dumped the traced messages (and enabled was not applied).
> # *The browse console with freshSize=true ignores limit* and dumps every
> message of the endpoint.
> # *The processor console fails with NullPointerException when
> camel-management is not in use.* The other management-driven consoles check
> for it. (No test: camel-console now has camel-management as a test
> dependency, so the case cannot happen in its tests.)
> camel-console gets camel-management as a test dependency, so the consoles
> driven by the managed MBeans can be tested (their tests note they could not).
> *Not changed (for a later look)*
> * The JFR memory leak console applies its group limit when the recording is
> parsed and not in query, and keeps the first groups seen rather than the
> largest.
> * The inflight console filter is an exact, case-sensitive match of the route
> the exchange came from, while other consoles use wildcards.
> * The processor detail console overwrites repeated child options (such as the
> exceptions of doCatch) and drops attribute-only expressions (such as
> tokenize).
> * The sql query console update-row action converts string values to numbers
> or booleans ("007" is stored as 7).
> * idleSince is documented as epoch time but is a duration.
> _Claude Code on behalf of Claus Ibsen_
--
This message was sent by Atlassian Jira
(v8.20.10#820010)