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

Claus Ibsen updated CAMEL-24975:
--------------------------------
    Description: 
Follow-up to CAMEL-24972 and CAMEL-24974: the remaining places in camel-core 
that print a node id without saying where that node is in the source.

{{ExchangeExtension.getHistoryNodeSource()}} is documented as "the history node 
source:line-number where the node is located in the source code", is set by 
{{CamelInternalProcessor.NodeHistoryAdvice}} for every node, and is read in 
only one place today ({{MessageHelper}}). The exchange is in hand at each of 
the sites below, so none of them needs an API change:

* {{DefaultShutdownStrategy}} - logs the inflight exchanges with {{nodeId=...}} 
when routes do not shut down in time. The location says which line is holding 
the shutdown up.
* {{InflightConsole}} - the inflight dev console rows carry exchangeId, 
fromRouteId, atRouteId and nodeId.
* {{BlockedConsole}} - the blocked exchanges rows carry exchangeId, routeId and 
nodeId.
* {{DefaultAsyncProcessorAwaitManager}} - the {{NodeId:}} line of the 
blocked-thread dump.

Each degrades to today's output when message history or source location is off.

h3. Not in this issue

The JMX side ({{ManagedInflightRepository}}, 
{{ManagedAsyncProcessorAwaitManager}}) reads through 
{{InflightRepository.InflightExchange}}, which exposes {{getNodeId()}} but no 
{{getNodeSource()}}. That needs a default method on the SPI interface and a new 
column in the tabular data, so it belongs in its own issue if it is wanted.


  was:
Follow-up to CAMEL-24972 and CAMEL-24975: the remaining places in camel-core 
that print a node id without saying where that node is in the source.

{{ExchangeExtension.getHistoryNodeSource()}} is documented as "the history node 
source:line-number where the node is located in the source code", is set by 
{{CamelInternalProcessor.NodeHistoryAdvice}} for every node, and is read in 
only one place today ({{MessageHelper}}). The exchange is in hand at each of 
the sites below, so none of them needs an API change:

* {{DefaultShutdownStrategy}} - logs the inflight exchanges with {{nodeId=...}} 
when routes do not shut down in time. The location says which line is holding 
the shutdown up.
* {{InflightConsole}} - the inflight dev console rows carry exchangeId, 
fromRouteId, atRouteId and nodeId.
* {{BlockedConsole}} - the blocked exchanges rows carry exchangeId, routeId and 
nodeId.
* {{DefaultAsyncProcessorAwaitManager}} - the {{NodeId:}} line of the 
blocked-thread dump.

Each degrades to today's output when message history or source location is off.

h3. Not in this issue

The JMX side ({{ManagedInflightRepository}}, 
{{ManagedAsyncProcessorAwaitManager}}) reads through 
{{InflightRepository.InflightExchange}}, which exposes {{getNodeId()}} but no 
{{getNodeSource()}}. That needs a default method on the SPI interface and a new 
column in the tabular data, so it belongs in its own issue if it is wanted.



> camel-core: the inflight, blocked and shutdown dumps say where the node is in 
> the source
> ----------------------------------------------------------------------------------------
>
>                 Key: CAMEL-24975
>                 URL: https://issues.apache.org/jira/browse/CAMEL-24975
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-core
>            Reporter: Claus Ibsen
>            Priority: Major
>
> Follow-up to CAMEL-24972 and CAMEL-24974: the remaining places in camel-core 
> that print a node id without saying where that node is in the source.
> {{ExchangeExtension.getHistoryNodeSource()}} is documented as "the history 
> node source:line-number where the node is located in the source code", is set 
> by {{CamelInternalProcessor.NodeHistoryAdvice}} for every node, and is read 
> in only one place today ({{MessageHelper}}). The exchange is in hand at each 
> of the sites below, so none of them needs an API change:
> * {{DefaultShutdownStrategy}} - logs the inflight exchanges with 
> {{nodeId=...}} when routes do not shut down in time. The location says which 
> line is holding the shutdown up.
> * {{InflightConsole}} - the inflight dev console rows carry exchangeId, 
> fromRouteId, atRouteId and nodeId.
> * {{BlockedConsole}} - the blocked exchanges rows carry exchangeId, routeId 
> and nodeId.
> * {{DefaultAsyncProcessorAwaitManager}} - the {{NodeId:}} line of the 
> blocked-thread dump.
> Each degrades to today's output when message history or source location is 
> off.
> h3. Not in this issue
> The JMX side ({{ManagedInflightRepository}}, 
> {{ManagedAsyncProcessorAwaitManager}}) reads through 
> {{InflightRepository.InflightExchange}}, which exposes {{getNodeId()}} but no 
> {{getNodeSource()}}. That needs a default method on the SPI interface and a 
> new column in the tabular data, so it belongs in its own issue if it is 
> wanted.



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

Reply via email to