[jboss-jira] [JBoss JIRA] (WFLY-5201) Reading metrics with dots in their names blows up

Radoslav Husar (JIRA) issues at jboss.org
Tue Aug 25 11:40:47 EDT 2015


     [ https://issues.jboss.org/browse/WFLY-5201?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Radoslav Husar updated WFLY-5201:
---------------------------------
    Git Pull Request:   (was: https://github.com/wildfly/wildfly-core/pull/995)


> Reading metrics with dots in their names blows up
> -------------------------------------------------
>
>                 Key: WFLY-5201
>                 URL: https://issues.jboss.org/browse/WFLY-5201
>             Project: WildFly
>          Issue Type: Bug
>            Reporter: Radoslav Husar
>            Assignee: Radoslav Husar
>            Priority: Blocker
>
> When doing a :read-resource(include-runtime=true,recursive=true) this blows up. Debugging shows that to be because e.g. the resource  /subsystem=jgroups/channel=ee/protocol=UDP contains metrics called things like 
> {code}
>  "timer.keep_alive_time" => {
>                 "type" => LONG,
>                 "description" => "Timeout in ms to remove idle threads from the timer pool",
>                 "expressions-allowed" => false,
>                 "nillable" => false,
>                 "access-type" => "metric",
>                 "storage" => "runtime"
>             },
>             "timer.max_threads" => {
>                 "type" => INT,
>                 "description" => "Max thread pool size for the timer thread pool",
>                 "expressions-allowed" => false,
>                 "nillable" => false,
>                 "access-type" => "metric",
>                 "storage" => "runtime"
>             },
>             "timer.min_threads" => {
>                 "type" => INT,
>                 "description" => "Minimum thread pool size for the timer thread pool",
>                 "expressions-allowed" => false,
>                 "nillable" => false,
>                 "access-type" => "metric",
>                 "storage" => "runtime"
>             },
> {code}
> i.e. they have a dot in their name. So when the r-r handler wants to read the attributes it in effect tries to do the following demonstrated by CLI commands:
> {code}
> [standalone at localhost:9990 /] /subsystem=jgroups/channel=ee/protocol=UDP:read-attribute(name=timer
> timer.keep_alive_time   timer.min_threads       timer.rejection_policy  timer.wheel_size        timer_queue_size        timer_threads           
> timer.max_threads       timer.queue_max_size    timer.tick_time         timer_class             timer_tasks             timer_type              
> [standalone at localhost:9990 /] /subsystem=jgroups/channel=ee/protocol=UDP:read-attribute(name=timer.max_threads)      
> {
>     "outcome" => "failed",
>     "failure-description" => "WFLYCTL0201: Unknown attribute 'timer'",
>     "rolled-back" => true
> }
> {code}
> I see ReadResourceHandler has some stuff to extract the attribute name if 'extended syntax' is used. So we have two options:
> 1) Ban dots in metric/attribute names
> 2) Add a workaround to fall back. In other words if ReadAttributeHandler thinks extended syntax is being used, and cannot find the extracted 'timer' attribute, then try the full non-extracted name, e.g. timer.max_threads, and only then error.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


More information about the jboss-jira mailing list