qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ganesh Murthy (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (DISPATCH-243) Requesting information about a remote router returns info about the connected router
Date Mon, 28 Mar 2016 12:42:25 GMT

    [ https://issues.apache.org/jira/browse/DISPATCH-243?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15211790#comment-15211790
] 

Ganesh Murthy edited comment on DISPATCH-243 at 3/28/16 12:42 PM:
------------------------------------------------------------------

Case 1 (using Ernie's reproducer)
On using the reproducer provided by Ernie (jsmanage2.html), the first inbound attach frame
has a target address of /$management like here -
{noformat}
[0x7ffbb4011230]:0 <- @attach(18) [name="ed3e3cb1-f719-4d97-91c3-4d00db5ce802", handle=0,
role=false, target=@target(41) [address="/$management"], initial-delivery-count=0]
{noformat}
Notice above that the target address on the link is set to /$management. Also, the address
on the message "to" field is set to amqp:/_topo/0/QDR.B/$management

Case 2 (using qdmanage)
Now, when I used the qdmanage tool to do a QUERY operation, I am seeing that the first inbound
attach frame has a target address of _topo/0/QDR.B/$management like here -
{noformat}
[0xaaa720]:0 <- @attach(18) [name="38bb9314-055e-4485-927d-481250be534e-_topo/0/QDR.B/$management",
handle=0, role=false, snd-settle-mode=2, rcv-settle-mode=0, source=@source(40) [durable=0,
timeout=0, dynamic=false], target=@target(41) [address="_topo/0/QDR.B/$management", durable=0,
timeout=0, dynamic=false], initial-delivery-count=0]
{noformat}
Note here that the target address on the link is set to _topo/0/QDR.B/$management (and not
to /$management like in Case 1)

According to Ted Ross - 
Pre-merge, the router only looked at the link target address if there was no address in the
message.  Post-merge, the link target address, if present, always takes precedence over an
address in the message.  The post-merge behavior is the correct behavior.

To fix this issue, the javascript needs to be modified to exactly do what qdmanage is doing,
namely create a link with a target address of _topo/0/QDR.B/$management and send the QUERY
request over the link.

The other possibility is to create a link with no target address.  In
this case, the message addresses will be used individually as before.


was (Author: ganeshmurthy):

Case 1 (using Ernie's reproducer)
On using the reproducer provided by Ernie (jsmanage2.html), the first inbound attach frame
has a target address of /$management like here -
{noformat}
[0x7ffbb4011230]:0 <- @attach(18) [name="ed3e3cb1-f719-4d97-91c3-4d00db5ce802", handle=0,
role=false, target=@target(41) [address="/$management"], initial-delivery-count=0]
{noformat}
Notice above that the target address on the link is set to /$management. Also, the address
on the message "to" field is set to amqp:/_topo/0/QDR.B/$management

Case 2 (using qdmanage)
Now, when I used the qdmanage tool to do a QUERY operation, I am seeing that the first inbound
attach frame has a target address of _topo/0/QDR.B/$management like here -
{noformat}
[0xaaa720]:0 <- @attach(18) [name="38bb9314-055e-4485-927d-481250be534e-_topo/0/QDR.B/$management",
handle=0, role=false, snd-settle-mode=2, rcv-settle-mode=0, source=@source(40) [durable=0,
timeout=0, dynamic=false], target=@target(41) [address="_topo/0/QDR.B/$management", durable=0,
timeout=0, dynamic=false], initial-delivery-count=0]
{noformat}
Note here that the target address on the link is set to _topo/0/QDR.B/$management (and not
to /$management like in Case 1)

According to Ted Ross - 
Pre-merge, the router only looked at the link target address if there was no address in the
message.  Post-merge, the link target address, if present, always takes precedence over an
address in the message.  The post-merge behavior is the correct behavior.

To fix this issue, the javascript needs to be modified to exactly do what qdmanage is doing,
namely create a link with a target address of _topo/0/QDR.B/$management and send the QUERY
request over the link.

> Requesting information about a remote router returns info about the connected router
> ------------------------------------------------------------------------------------
>
>                 Key: DISPATCH-243
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-243
>             Project: Qpid Dispatch
>          Issue Type: Bug
>          Components: Management Agent
>    Affects Versions: 0.6
>            Reporter: Ernest Allen
>         Attachments: jsmanage.html, jsmanage2.html
>
>
> When connected to Router A, and making a request for info about Router B, the info that
is returned is for Router A.
> I'm using the proton javascript binding rhea.js and making a QUERY request. Here is Router
B's log entry for the request.
> Thu Mar 24 03:40:06 2016 AGENT (debug) Agent request Message(address='amqp://0.0.0.0:5673/_topo/0/QDR.B/$management',
properties={'operation': 'QUERY', 'entityType': 'router', 'type': 'org.amqp.management', 'name':
'self'}, body={'attributeNames': []}, reply_to='amqp:/_topo/0/QDR.A/temp.43z0E5iKdp4hMed',
correlation_id='60') on link 0 (/home/eallen/workspace/qpid-dispatch/install/lib/qpid-dispatch/python/qpid_dispatch_internal/management/agent.py:736)
> Thu Mar 24 03:40:06 2016 AGENT (debug) Agent response:
>   Message(address='amqp:/_topo/0/QDR.A/temp.43z0E5iKdp4hMed', properties={'statusDescription':
'OK', 'statusCode': 200}, body={'results': [[4, 'router/QDR.A', 1, '0', 3, 0, 60, 0, 'QDR.A',
30, 'interior', 'org.apache.qpid.dispatch.router', 0, 60, 'router/QDR.A']], 'attributeNames':
[u'raIntervalFlux', u'name', u'helloInterval', u'area', u'helloMaxAge', u'linkCount', u'remoteLsMaxAge',
u'addrCount', u'routerId', u'raInterval', u'mode', u'type', u'nodeCount', u'mobileAddrMaxAge',
u'identity']}, reply_to=None, correlation_id='60')
>   Responding to: 
>   Message(address='amqp://0.0.0.0:5673/_topo/0/QDR.B/$management', properties={'operation':
'QUERY', 'entityType': 'router', 'type': 'org.amqp.management', 'name': 'self'}, body={'attributeNames':
[]}, reply_to='amqp:/_topo/0/QDR.A/temp.43z0E5iKdp4hMed', correlation_id='60') (/home/eallen/workspace/qpid-dispatch/install/lib/qpid-dispatch/python/qpid_dispatch_internal/management/agent.py:715)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


Mime
View raw message