You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by gm...@apache.org on 2018/04/27 21:00:31 UTC

[3/4] qpid-dispatch git commit: DISPATCH-933 - Undo changes made because this JIRA. RouterStats os now gone relaced with the old Router entity. This change has been backed out because of backward compat issues

DISPATCH-933 - Undo changes made because this JIRA. RouterStats os now gone relaced with the old Router entity. This change has been backed out because of backward compat issues


Project: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/commit/61a4ddb5
Tree: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/tree/61a4ddb5
Diff: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/diff/61a4ddb5

Branch: refs/heads/1.1.x
Commit: 61a4ddb5a829e399bb1e8f0b17c042b530d2e09c
Parents: 713bf64
Author: Ganesh Murthy <gm...@redhat.com>
Authored: Thu Apr 26 10:44:57 2018 -0400
Committer: Ganesh Murthy <gm...@redhat.com>
Committed: Fri Apr 27 16:54:28 2018 -0400

----------------------------------------------------------------------
 include/qpid/dispatch/router_core.h             |   2 +-
 python/qpid_dispatch/management/qdrouter.json   |  30 +--
 .../qpid_dispatch_internal/management/agent.py  |   7 -
 src/CMakeLists.txt                              |   2 +-
 src/router_agent.c                              |   5 +-
 src/router_core/agent.c                         |  18 +-
 src/router_core/agent_router.c                  | 237 +++++++++++++++++++
 src/router_core/agent_router.h                  |  32 +++
 src/router_core/agent_router_stats.c            | 236 ------------------
 src/router_core/agent_router_stats.h            |  32 ---
 src/router_core/management_agent.c              |   6 +-
 tests/system_tests_autolinks.py                 |   6 +-
 tests/system_tests_link_routes.py               |   4 +-
 tests/system_tests_management.py                |   3 +
 tests/system_tests_one_router.py                |  42 +---
 tests/system_tests_qdmanage.py                  |   6 +-
 tests/system_tests_two_routers.py               |   2 +-
 tools/qdstat                                    |   2 +-
 18 files changed, 308 insertions(+), 364 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/61a4ddb5/include/qpid/dispatch/router_core.h
----------------------------------------------------------------------
diff --git a/include/qpid/dispatch/router_core.h b/include/qpid/dispatch/router_core.h
index 4123fa3..8f144b0 100644
--- a/include/qpid/dispatch/router_core.h
+++ b/include/qpid/dispatch/router_core.h
@@ -653,7 +653,7 @@ typedef enum {
     QD_ROUTER_CONFIG_LINK_ROUTE,
     QD_ROUTER_CONFIG_AUTO_LINK,
     QD_ROUTER_CONNECTION,
-    QD_ROUTER_ROUTER_STATS,
+    QD_ROUTER_ROUTER,
     QD_ROUTER_LINK,
     QD_ROUTER_ADDRESS,
     QD_ROUTER_EXCHANGE,

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/61a4ddb5/python/qpid_dispatch/management/qdrouter.json
----------------------------------------------------------------------
diff --git a/python/qpid_dispatch/management/qdrouter.json b/python/qpid_dispatch/management/qdrouter.json
index fcbf7e5..13392a1 100644
--- a/python/qpid_dispatch/management/qdrouter.json
+++ b/python/qpid_dispatch/management/qdrouter.json
@@ -482,31 +482,7 @@
                     "create": true,
                     "required": false,
                     "default": "balanced"
-                }
-            }
-        },
-        
-        "routerStats": {
-            "description": "Overall router statistics.",
-            "extends": "operationalEntity",
-            "attributes": {
-	            "id": {
-	                "description":"Router's unique identity. The router will fail to start without id.",
-	                "type": "string",
-	                "required": false
-	            },
-	            "mode": {
-	                "type": [
-	                    "standalone",
-	                    "interior"
-	                ],
-	                "default": "standalone",
-	                "description": "In standalone mode, the router operates as a single component.  It does not participate in the routing protocol and therefore will not cooperate with other routers. In interior mode, the router operates in cooperation with other interior routers in an interconnected network."
-	            },
-	            "version": {
-	                "type": "string",
-	                "description": "Software Version"
-	            },
+                },
 	            "addrCount": {
 	                "type": "integer",
 	                "description":"Number of addresses known to the router.",
@@ -592,8 +568,8 @@
                     "description":"Number of deliveries that were sent to route container connections.",
                     "graph": true
                 }                
-            }        
-        },        
+            }
+        },       
         "sslProfile": {
             "description":"Attributes for setting TLS/SSL configuration for connections.",
             "referential": true,

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/61a4ddb5/python/qpid_dispatch_internal/management/agent.py
----------------------------------------------------------------------
diff --git a/python/qpid_dispatch_internal/management/agent.py b/python/qpid_dispatch_internal/management/agent.py
index 2d71bba..88e828b 100644
--- a/python/qpid_dispatch_internal/management/agent.py
+++ b/python/qpid_dispatch_internal/management/agent.py
@@ -479,13 +479,6 @@ class LogStatsEntity(EntityAdapter):
     def __str__(self):
         return super(LogStatsEntity, self).__str__().replace("Entity(", "LogStatsEntity(")
 
-class RouterStatsEntity(EntityAdapter):
-    def _identifier(self):
-        return self.attributes.get('identity')
-
-    def __str__(self):
-        return super(RouterStatsEntity, self).__str__().replace("Entity(", "RouterStatsEntity(")
-
 
 class AllocatorEntity(EntityAdapter):
     def _identifier(self):

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/61a4ddb5/src/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 453e8f3..ac85bca 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -83,7 +83,7 @@ set(qpid_dispatch_SOURCES
   router_core/agent_connection.c
   router_core/agent_config_link_route.c
   router_core/agent_link.c
-  router_core/agent_router_stats.c
+  router_core/agent_router.c
   router_core/connections.c
   router_core/error.c
   router_core/exchange_bindings.c

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/61a4ddb5/src/router_agent.c
----------------------------------------------------------------------
diff --git a/src/router_agent.c b/src/router_agent.c
index 52d5133..4e02b77 100644
--- a/src/router_agent.c
+++ b/src/router_agent.c
@@ -42,7 +42,10 @@ qd_error_t qd_entity_refresh_router(qd_entity_t* entity, void *impl) {
     qd_dispatch_t *qd = (qd_dispatch_t*) impl;
     qd_router_t *router = qd->router;
     if (qd_entity_set_string(entity, "area", router->router_area) == 0 &&
-        qd_entity_set_string(entity, "mode", qd_router_mode_name(router->router_mode)) == 0
+        qd_entity_set_string(entity, "mode", qd_router_mode_name(router->router_mode)) == 0 &&
+        qd_entity_set_long(entity, "addrCount", 0) == 0 &&
+        qd_entity_set_long(entity, "linkCount", 0) == 0 &&
+        qd_entity_set_long(entity, "nodeCount", 0) == 0
     )
         return QD_ERROR_NONE;
     return qd_error_code();

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/61a4ddb5/src/router_core/agent.c
----------------------------------------------------------------------
diff --git a/src/router_core/agent.c b/src/router_core/agent.c
index 84dda76..76cdcb3 100644
--- a/src/router_core/agent.c
+++ b/src/router_core/agent.c
@@ -27,7 +27,7 @@
 #include "router_core_private.h"
 #include "exchange_bindings.h"
 #include <stdio.h>
-#include "agent_router_stats.h"
+#include "agent_router.h"
 
 static void qdr_manage_read_CT(qdr_core_t *core, qdr_action_t *action, bool discard);
 static void qdr_manage_create_CT(qdr_core_t *core, qdr_action_t *action, bool discard);
@@ -189,7 +189,7 @@ qdr_query_t *qdr_manage_query(qdr_core_t              *core,
     case QD_ROUTER_CONFIG_ADDRESS:    qdr_agent_set_columns(query, attribute_names, qdr_config_address_columns, QDR_CONFIG_ADDRESS_COLUMN_COUNT);  break;
     case QD_ROUTER_CONFIG_LINK_ROUTE: qdr_agent_set_columns(query, attribute_names, qdr_config_link_route_columns, QDR_CONFIG_LINK_ROUTE_COLUMN_COUNT);  break;
     case QD_ROUTER_CONFIG_AUTO_LINK:  qdr_agent_set_columns(query, attribute_names, qdr_config_auto_link_columns, QDR_CONFIG_AUTO_LINK_COLUMN_COUNT);  break;
-    case QD_ROUTER_ROUTER_STATS:      qdr_agent_set_columns(query, attribute_names, qdr_router_columns, QDR_ROUTER_STATS_COLUMN_COUNT);  break;
+    case QD_ROUTER_ROUTER:            qdr_agent_set_columns(query, attribute_names, qdr_router_columns, QDR_ROUTER_COLUMN_COUNT);  break;
     case QD_ROUTER_CONNECTION:        qdr_agent_set_columns(query, attribute_names, qdr_connection_columns, QDR_CONNECTION_COLUMN_COUNT);  break;
     case QD_ROUTER_LINK:              qdr_agent_set_columns(query, attribute_names, qdr_link_columns, QDR_LINK_COLUMN_COUNT);  break;
     case QD_ROUTER_ADDRESS:           qdr_agent_set_columns(query, attribute_names, qdr_address_columns, QDR_ADDRESS_COLUMN_COUNT); break;
@@ -208,7 +208,7 @@ void qdr_query_add_attribute_names(qdr_query_t *query)
     case QD_ROUTER_CONFIG_ADDRESS:    qdr_agent_emit_columns(query, qdr_config_address_columns, QDR_CONFIG_ADDRESS_COLUMN_COUNT); break;
     case QD_ROUTER_CONFIG_LINK_ROUTE: qdr_agent_emit_columns(query, qdr_config_link_route_columns, QDR_CONFIG_LINK_ROUTE_COLUMN_COUNT); break;
     case QD_ROUTER_CONFIG_AUTO_LINK:  qdr_agent_emit_columns(query, qdr_config_auto_link_columns, QDR_CONFIG_AUTO_LINK_COLUMN_COUNT); break;
-    case QD_ROUTER_ROUTER_STATS:      qdr_agent_emit_columns(query, qdr_router_columns, QDR_ROUTER_STATS_COLUMN_COUNT); break;
+    case QD_ROUTER_ROUTER:            qdr_agent_emit_columns(query, qdr_router_columns, QDR_ROUTER_COLUMN_COUNT); break;
     case QD_ROUTER_CONNECTION:        qdr_agent_emit_columns(query, qdr_connection_columns, QDR_CONNECTION_COLUMN_COUNT); break;
     case QD_ROUTER_LINK:              qdr_agent_emit_columns(query, qdr_link_columns, QDR_LINK_COLUMN_COUNT); break;
     case QD_ROUTER_ADDRESS:           qdr_agent_emit_columns(query, qdr_address_columns, QDR_ADDRESS_COLUMN_COUNT); break;
@@ -349,7 +349,7 @@ static void qdr_manage_read_CT(qdr_core_t *core, qdr_action_t *action, bool disc
     case QD_ROUTER_CONFIG_ADDRESS:    qdra_config_address_get_CT(core, name, identity, query, qdr_config_address_columns); break;
     case QD_ROUTER_CONFIG_LINK_ROUTE: qdra_config_link_route_get_CT(core, name, identity, query, qdr_config_link_route_columns); break;
     case QD_ROUTER_CONFIG_AUTO_LINK:  qdra_config_auto_link_get_CT(core, name, identity, query, qdr_config_auto_link_columns); break;
-    case QD_ROUTER_ROUTER_STATS:      qdr_agent_forbidden(core, query, false); break;
+    case QD_ROUTER_ROUTER:      qdr_agent_forbidden(core, query, false); break;
     case QD_ROUTER_CONNECTION:        qdra_connection_get_CT(core, name, identity, query, qdr_connection_columns); break;
     case QD_ROUTER_LINK:              break;
     case QD_ROUTER_ADDRESS:           qdra_address_get_CT(core, name, identity, query, qdr_address_columns); break;
@@ -375,7 +375,7 @@ static void qdr_manage_create_CT(qdr_core_t *core, qdr_action_t *action, bool di
     case QD_ROUTER_CONFIG_LINK_ROUTE: qdra_config_link_route_create_CT(core, name, query, in_body); break;
     case QD_ROUTER_CONFIG_AUTO_LINK:  qdra_config_auto_link_create_CT(core, name, query, in_body); break;
     case QD_ROUTER_CONNECTION:        break;
-    case QD_ROUTER_ROUTER_STATS:      qdr_agent_forbidden(core, query, false); break;
+    case QD_ROUTER_ROUTER:            qdr_agent_forbidden(core, query, false); break;
     case QD_ROUTER_LINK:              break;
     case QD_ROUTER_ADDRESS:           break;
     case QD_ROUTER_FORBIDDEN:         qdr_agent_forbidden(core, query, false); break;
@@ -401,7 +401,7 @@ static void qdr_manage_delete_CT(qdr_core_t *core, qdr_action_t *action, bool di
     case QD_ROUTER_CONFIG_LINK_ROUTE: qdra_config_link_route_delete_CT(core, query, name, identity); break;
     case QD_ROUTER_CONFIG_AUTO_LINK:  qdra_config_auto_link_delete_CT(core, query, name, identity); break;
     case QD_ROUTER_CONNECTION:        break;
-    case QD_ROUTER_ROUTER_STATS:      qdr_agent_forbidden(core, query, false); break;
+    case QD_ROUTER_ROUTER:            qdr_agent_forbidden(core, query, false); break;
     case QD_ROUTER_LINK:              break;
     case QD_ROUTER_ADDRESS:           break;
     case QD_ROUTER_FORBIDDEN:         qdr_agent_forbidden(core, query, false); break;
@@ -425,7 +425,7 @@ static void qdr_manage_update_CT(qdr_core_t *core, qdr_action_t *action, bool di
     case QD_ROUTER_CONFIG_LINK_ROUTE: break;
     case QD_ROUTER_CONFIG_AUTO_LINK:  break;
     case QD_ROUTER_CONNECTION:        break;
-    case QD_ROUTER_ROUTER_STATS:      break;
+    case QD_ROUTER_ROUTER:            break;
     case QD_ROUTER_LINK:              qdra_link_update_CT(core, name, identity, query, in_body); break;
     case QD_ROUTER_ADDRESS:           break;
     case QD_ROUTER_FORBIDDEN:         qdr_agent_forbidden(core, query, false); break;
@@ -451,7 +451,7 @@ static void qdrh_query_get_first_CT(qdr_core_t *core, qdr_action_t *action, bool
         case QD_ROUTER_CONFIG_ADDRESS:    qdra_config_address_get_first_CT(core, query, offset); break;
         case QD_ROUTER_CONFIG_LINK_ROUTE: qdra_config_link_route_get_first_CT(core, query, offset); break;
         case QD_ROUTER_CONFIG_AUTO_LINK:  qdra_config_auto_link_get_first_CT(core, query, offset); break;
-        case QD_ROUTER_ROUTER_STATS:      qdra_router_get_first_CT(core, query, offset); break;
+        case QD_ROUTER_ROUTER:            qdra_router_get_first_CT(core, query, offset); break;
         case QD_ROUTER_CONNECTION:        qdra_connection_get_first_CT(core, query, offset); break;
         case QD_ROUTER_LINK:              qdra_link_get_first_CT(core, query, offset); break;
         case QD_ROUTER_ADDRESS:           qdra_address_get_first_CT(core, query, offset); break;
@@ -472,7 +472,7 @@ static void qdrh_query_get_next_CT(qdr_core_t *core, qdr_action_t *action, bool
         case QD_ROUTER_CONFIG_ADDRESS:    qdra_config_address_get_next_CT(core, query); break;
         case QD_ROUTER_CONFIG_LINK_ROUTE: qdra_config_link_route_get_next_CT(core, query); break;
         case QD_ROUTER_CONFIG_AUTO_LINK:  qdra_config_auto_link_get_next_CT(core, query); break;
-        case QD_ROUTER_ROUTER_STATS:      qdra_router_get_next_CT(core, query); break;
+        case QD_ROUTER_ROUTER:      qdra_router_get_next_CT(core, query); break;
         case QD_ROUTER_CONNECTION:        qdra_connection_get_next_CT(core, query); break;
         case QD_ROUTER_LINK:              qdra_link_get_next_CT(core, query); break;
         case QD_ROUTER_ADDRESS:           qdra_address_get_next_CT(core, query); break;

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/61a4ddb5/src/router_core/agent_router.c
----------------------------------------------------------------------
diff --git a/src/router_core/agent_router.c b/src/router_core/agent_router.c
new file mode 100644
index 0000000..b5690ff
--- /dev/null
+++ b/src/router_core/agent_router.c
@@ -0,0 +1,237 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#include "agent_router.h"
+
+#include "config.h"
+#include <inttypes.h>
+#include <stdio.h>
+
+
+#define QDR_ROUTER_NAME                                0
+#define QDR_ROUTER_IDENTITY                            1
+#define QDR_ROUTER_ID                                  2
+#define QDR_ROUTER_TYPE                                3
+#define QDR_ROUTER_MODE                                4
+#define QDR_ROUTER_VERSION                             5
+#define QDR_ROUTER_ADDR_COUNT                          6
+#define QDR_ROUTER_LINK_COUNT                          7
+#define QDR_ROUTER_NODE_COUNT                          8
+#define QDR_ROUTER_LINK_ROUTE_COUNT                    9
+#define QDR_ROUTER_AUTO_LINK_COUNT                    10
+#define QDR_ROUTER_CONNECTION_COUNT                   11
+#define QDR_ROUTER_PRESETTLED_DELIVERIES              12
+#define QDR_ROUTER_DROPPED_PRESETTLED_DELIVERIES      13
+#define QDR_ROUTER_ACCEPTED_DELIVERIES                14
+#define QDR_ROUTER_REJECTED_DELIVERIES                15
+#define QDR_ROUTER_RELEASED_DELIVERIES                16
+#define QDR_ROUTER_MODIFIED_DELIVERIES                17
+#define QDR_ROUTER_DELIVERIES_INGRESS                 18
+#define QDR_ROUTER_DELIVERIES_EGRESS                  19
+#define QDR_ROUTER_DELIVERIES_TRANSIT                 20
+#define QDR_ROUTER_DELIVERIES_INGRESS_ROUTE_CONTAINER 21
+#define QDR_ROUTER_DELIVERIES_EGRESS_ROUTE_CONTAINER  22
+
+
+const char *qdr_router_columns[] =
+    {"name",
+     "identity",
+     "id",
+     "type",
+     "mode",
+     "version",
+     "addrCount",
+     "linkCount",
+     "nodeCount",
+     "linkRouteCount",
+     "autoLinkCount",
+     "connectionCount",
+     "presettledDeliveries",
+     "droppedPresettledDeliveries",
+     "acceptedDeliveries",
+     "rejectedDeliveries",
+     "releasedDeliveries",
+     "modifiedDeliveries",
+     "deliveriesIngress",
+     "deliveriesEgress",
+     "deliveriesTransit",
+     "deliveriesIngressRouteContainer",
+     "deliveriesEgressRouteContainer",
+     0};
+
+
+static const char *qd_router_mode_names[] = {
+    "standalone",
+    "interior",
+    "edge",
+    "endpoint"
+};
+
+static const char *router_mode(qd_router_mode_t router_mode)
+{
+    return qd_router_mode_names[(int)router_mode];
+
+}
+
+static void qdr_agent_write_column_CT(qd_composed_field_t *body, int col, qdr_core_t *core)
+{
+
+    switch(col) {
+    case QDR_ROUTER_IDENTITY:
+        // There is only one instance of router. Just give it an identity of 1
+        qd_compose_insert_string(body, "1");
+        break;
+    case QDR_ROUTER_TYPE:
+        qd_compose_insert_string(body, "org.apache.qpid.dispatch.router");
+        break;
+
+    case QDR_ROUTER_MODE:
+        qd_compose_insert_string(body, router_mode(core->router_mode));
+        break;
+
+    case QDR_ROUTER_VERSION:
+        qd_compose_insert_string(body, QPID_DISPATCH_VERSION);
+        break;
+
+    case QDR_ROUTER_ADDR_COUNT:
+        qd_compose_insert_ulong(body, DEQ_SIZE(core->addrs));
+        break;
+
+    case QDR_ROUTER_LINK_COUNT:
+        qd_compose_insert_ulong(body, DEQ_SIZE(core->open_links));
+        break;
+
+    case QDR_ROUTER_NODE_COUNT:
+        qd_compose_insert_ulong(body, DEQ_SIZE(core->routers));
+        break;
+
+    case QDR_ROUTER_CONNECTION_COUNT:
+        qd_compose_insert_ulong(body, DEQ_SIZE(core->open_connections));
+        break;
+
+    case QDR_ROUTER_LINK_ROUTE_COUNT:
+        qd_compose_insert_ulong(body, DEQ_SIZE(core->link_routes));
+        break;
+
+    case QDR_ROUTER_AUTO_LINK_COUNT:
+        qd_compose_insert_ulong(body, DEQ_SIZE(core->auto_links));
+        break;
+
+    case QDR_ROUTER_ID:
+    case QDR_ROUTER_NAME:
+        if (core->router_id)
+            qd_compose_insert_string(body, core->router_id);
+        else
+            qd_compose_insert_null(body);
+        break;
+
+    case QDR_ROUTER_PRESETTLED_DELIVERIES:
+        qd_compose_insert_ulong(body, core->presettled_deliveries);
+        break;
+
+    case QDR_ROUTER_DROPPED_PRESETTLED_DELIVERIES:
+        qd_compose_insert_ulong(body, core->dropped_presettled_deliveries);
+        break;
+
+    case QDR_ROUTER_ACCEPTED_DELIVERIES:
+        qd_compose_insert_ulong(body, core->accepted_deliveries);
+        break;
+
+    case QDR_ROUTER_REJECTED_DELIVERIES:
+        qd_compose_insert_ulong(body, core->rejected_deliveries);
+        break;
+
+    case QDR_ROUTER_RELEASED_DELIVERIES:
+        qd_compose_insert_ulong(body, core->released_deliveries);
+        break;
+
+    case QDR_ROUTER_MODIFIED_DELIVERIES:
+        qd_compose_insert_ulong(body, core->modified_deliveries);
+        break;
+
+    case QDR_ROUTER_DELIVERIES_INGRESS:
+        qd_compose_insert_ulong(body, core->deliveries_ingress);
+        break;
+
+    case QDR_ROUTER_DELIVERIES_EGRESS:
+        qd_compose_insert_ulong(body, core->deliveries_egress);
+        break;
+
+    case QDR_ROUTER_DELIVERIES_TRANSIT:
+        qd_compose_insert_ulong(body, core->deliveries_transit);
+        break;
+
+    case QDR_ROUTER_DELIVERIES_INGRESS_ROUTE_CONTAINER:
+        qd_compose_insert_ulong(body, core->deliveries_ingress_route_container);
+        break;
+
+    case QDR_ROUTER_DELIVERIES_EGRESS_ROUTE_CONTAINER:
+        qd_compose_insert_ulong(body, core->deliveries_egress_route_container);
+        break;
+
+    default:
+        qd_compose_insert_null(body);
+        break;
+    }
+}
+
+
+
+static void qdr_agent_write_router_CT(qdr_query_t *query,  qdr_core_t *core)
+{
+    qd_composed_field_t *body = query->body;
+
+    qd_compose_start_list(body);
+    int i = 0;
+    while (query->columns[i] >= 0) {
+        qdr_agent_write_column_CT(body, query->columns[i], core);
+        i++;
+    }
+    qd_compose_end_list(body);
+}
+
+void qdra_router_get_first_CT(qdr_core_t *core, qdr_query_t *query, int offset)
+{
+    //
+    // Queries that get this far will always succeed.
+    //
+    query->status = QD_AMQP_OK;
+
+    if (offset >= 1) {
+        query->more = false;
+        qdr_agent_enqueue_response_CT(core, query);
+        return;
+    }
+
+    //
+    // Write the columns of core into the response body.
+    //
+    qdr_agent_write_router_CT(query, core);
+
+    //
+    // Enqueue the response.
+    //
+    qdr_agent_enqueue_response_CT(core, query);
+}
+
+// Nothing to do here. The router has only one entry.
+void qdra_router_get_next_CT(qdr_core_t *core, qdr_query_t *query)
+{
+
+}

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/61a4ddb5/src/router_core/agent_router.h
----------------------------------------------------------------------
diff --git a/src/router_core/agent_router.h b/src/router_core/agent_router.h
new file mode 100644
index 0000000..b2738f3
--- /dev/null
+++ b/src/router_core/agent_router.h
@@ -0,0 +1,32 @@
+#ifndef qdr_agent_router
+#define qdr_agent_router 1
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#include "router_core_private.h"
+
+#define QDR_ROUTER_COLUMN_COUNT  23
+
+const char *qdr_router_columns[QDR_ROUTER_COLUMN_COUNT + 1];
+
+void qdra_router_get_first_CT(qdr_core_t *core, qdr_query_t *query, int offset);
+void qdra_router_get_next_CT(qdr_core_t *core, qdr_query_t *query);
+void qdra_router_get_next_CT(qdr_core_t *core, qdr_query_t *query);
+
+#endif

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/61a4ddb5/src/router_core/agent_router_stats.c
----------------------------------------------------------------------
diff --git a/src/router_core/agent_router_stats.c b/src/router_core/agent_router_stats.c
deleted file mode 100644
index 53141a8..0000000
--- a/src/router_core/agent_router_stats.c
+++ /dev/null
@@ -1,236 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-#include "agent_router_stats.h"
-#include "config.h"
-#include <inttypes.h>
-#include <stdio.h>
-
-
-#define QDR_ROUTER_NAME                                0
-#define QDR_ROUTER_IDENTITY                            1
-#define QDR_ROUTER_ID                                  2
-#define QDR_ROUTER_STATS_TYPE                          3
-#define QDR_ROUTER_MODE                                4
-#define QDR_ROUTER_VERSION                             5
-#define QDR_ROUTER_ADDR_COUNT                          6
-#define QDR_ROUTER_LINK_COUNT                          7
-#define QDR_ROUTER_NODE_COUNT                          8
-#define QDR_ROUTER_LINK_ROUTE_COUNT                    9
-#define QDR_ROUTER_AUTO_LINK_COUNT                    10
-#define QDR_ROUTER_CONNECTION_COUNT                   11
-#define QDR_ROUTER_PRESETTLED_DELIVERIES              12
-#define QDR_ROUTER_DROPPED_PRESETTLED_DELIVERIES      13
-#define QDR_ROUTER_ACCEPTED_DELIVERIES                14
-#define QDR_ROUTER_REJECTED_DELIVERIES                15
-#define QDR_ROUTER_RELEASED_DELIVERIES                16
-#define QDR_ROUTER_MODIFIED_DELIVERIES                17
-#define QDR_ROUTER_DELIVERIES_INGRESS                 18
-#define QDR_ROUTER_DELIVERIES_EGRESS                  19
-#define QDR_ROUTER_DELIVERIES_TRANSIT                 20
-#define QDR_ROUTER_DELIVERIES_INGRESS_ROUTE_CONTAINER 21
-#define QDR_ROUTER_DELIVERIES_EGRESS_ROUTE_CONTAINER  22
-
-
-const char *qdr_router_columns[] =
-    {"name",
-     "identity",
-     "id",
-     "type",
-     "mode",
-     "version",
-     "addrCount",
-     "linkCount",
-     "nodeCount",
-     "linkRouteCount",
-     "autoLinkCount",
-     "connectionCount",
-     "presettledDeliveries",
-     "droppedPresettledDeliveries",
-     "acceptedDeliveries",
-     "rejectedDeliveries",
-     "releasedDeliveries",
-     "modifiedDeliveries",
-     "deliveriesIngress",
-     "deliveriesEgress",
-     "deliveriesTransit",
-     "deliveriesIngressRouteContainer",
-     "deliveriesEgressRouteContainer",
-     0};
-
-
-static const char *qd_router_mode_names[] = {
-    "standalone",
-    "interior",
-    "edge",
-    "endpoint"
-};
-
-static const char *router_mode(qd_router_mode_t router_mode)
-{
-    return qd_router_mode_names[(int)router_mode];
-
-}
-
-static void qdr_agent_write_column_CT(qd_composed_field_t *body, int col, qdr_core_t *core)
-{
-
-    switch(col) {
-    case QDR_ROUTER_IDENTITY:
-        // There is only one instance of router. Just give it an identity of 1
-        qd_compose_insert_string(body, "1");
-        break;
-    case QDR_ROUTER_STATS_TYPE:
-        qd_compose_insert_string(body, "org.apache.qpid.dispatch.routerStats");
-        break;
-
-    case QDR_ROUTER_MODE:
-        qd_compose_insert_string(body, router_mode(core->router_mode));
-        break;
-
-    case QDR_ROUTER_VERSION:
-        qd_compose_insert_string(body, QPID_DISPATCH_VERSION);
-        break;
-
-    case QDR_ROUTER_ADDR_COUNT:
-        qd_compose_insert_ulong(body, DEQ_SIZE(core->addrs));
-        break;
-
-    case QDR_ROUTER_LINK_COUNT:
-        qd_compose_insert_ulong(body, DEQ_SIZE(core->open_links));
-        break;
-
-    case QDR_ROUTER_NODE_COUNT:
-        qd_compose_insert_ulong(body, DEQ_SIZE(core->routers));
-        break;
-
-    case QDR_ROUTER_CONNECTION_COUNT:
-        qd_compose_insert_ulong(body, DEQ_SIZE(core->open_connections));
-        break;
-
-    case QDR_ROUTER_LINK_ROUTE_COUNT:
-        qd_compose_insert_ulong(body, DEQ_SIZE(core->link_routes));
-        break;
-
-    case QDR_ROUTER_AUTO_LINK_COUNT:
-        qd_compose_insert_ulong(body, DEQ_SIZE(core->auto_links));
-        break;
-
-    case QDR_ROUTER_ID:
-    case QDR_ROUTER_NAME:
-        if (core->router_id)
-            qd_compose_insert_string(body, core->router_id);
-        else
-            qd_compose_insert_null(body);
-        break;
-
-    case QDR_ROUTER_PRESETTLED_DELIVERIES:
-        qd_compose_insert_ulong(body, core->presettled_deliveries);
-        break;
-
-    case QDR_ROUTER_DROPPED_PRESETTLED_DELIVERIES:
-        qd_compose_insert_ulong(body, core->dropped_presettled_deliveries);
-        break;
-
-    case QDR_ROUTER_ACCEPTED_DELIVERIES:
-        qd_compose_insert_ulong(body, core->accepted_deliveries);
-        break;
-
-    case QDR_ROUTER_REJECTED_DELIVERIES:
-        qd_compose_insert_ulong(body, core->rejected_deliveries);
-        break;
-
-    case QDR_ROUTER_RELEASED_DELIVERIES:
-        qd_compose_insert_ulong(body, core->released_deliveries);
-        break;
-
-    case QDR_ROUTER_MODIFIED_DELIVERIES:
-        qd_compose_insert_ulong(body, core->modified_deliveries);
-        break;
-
-    case QDR_ROUTER_DELIVERIES_INGRESS:
-        qd_compose_insert_ulong(body, core->deliveries_ingress);
-        break;
-
-    case QDR_ROUTER_DELIVERIES_EGRESS:
-        qd_compose_insert_ulong(body, core->deliveries_egress);
-        break;
-
-    case QDR_ROUTER_DELIVERIES_TRANSIT:
-        qd_compose_insert_ulong(body, core->deliveries_transit);
-        break;
-
-    case QDR_ROUTER_DELIVERIES_INGRESS_ROUTE_CONTAINER:
-        qd_compose_insert_ulong(body, core->deliveries_ingress_route_container);
-        break;
-
-    case QDR_ROUTER_DELIVERIES_EGRESS_ROUTE_CONTAINER:
-        qd_compose_insert_ulong(body, core->deliveries_egress_route_container);
-        break;
-
-    default:
-        qd_compose_insert_null(body);
-        break;
-    }
-}
-
-
-
-static void qdr_agent_write_router_CT(qdr_query_t *query,  qdr_core_t *core)
-{
-    qd_composed_field_t *body = query->body;
-
-    qd_compose_start_list(body);
-    int i = 0;
-    while (query->columns[i] >= 0) {
-        qdr_agent_write_column_CT(body, query->columns[i], core);
-        i++;
-    }
-    qd_compose_end_list(body);
-}
-
-void qdra_router_get_first_CT(qdr_core_t *core, qdr_query_t *query, int offset)
-{
-    //
-    // Queries that get this far will always succeed.
-    //
-    query->status = QD_AMQP_OK;
-
-    if (offset >= 1) {
-        query->more = false;
-        qdr_agent_enqueue_response_CT(core, query);
-        return;
-    }
-
-    //
-    // Write the columns of core into the response body.
-    //
-    qdr_agent_write_router_CT(query, core);
-
-    //
-    // Enqueue the response.
-    //
-    qdr_agent_enqueue_response_CT(core, query);
-}
-
-// Nothing to do here. The router has only one entry.
-void qdra_router_get_next_CT(qdr_core_t *core, qdr_query_t *query)
-{
-
-}

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/61a4ddb5/src/router_core/agent_router_stats.h
----------------------------------------------------------------------
diff --git a/src/router_core/agent_router_stats.h b/src/router_core/agent_router_stats.h
deleted file mode 100644
index 731403c..0000000
--- a/src/router_core/agent_router_stats.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef qdr_agent_router
-#define qdr_agent_router 1
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-#include "router_core_private.h"
-
-#define QDR_ROUTER_STATS_COLUMN_COUNT  23
-
-const char *qdr_router_columns[QDR_ROUTER_STATS_COLUMN_COUNT + 1];
-
-void qdra_router_get_first_CT(qdr_core_t *core, qdr_query_t *query, int offset);
-void qdra_router_get_next_CT(qdr_core_t *core, qdr_query_t *query);
-void qdra_router_get_next_CT(qdr_core_t *core, qdr_query_t *query);
-
-#endif

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/61a4ddb5/src/router_core/management_agent.c
----------------------------------------------------------------------
diff --git a/src/router_core/management_agent.c b/src/router_core/management_agent.c
index 1ca848e..60b6ee1 100644
--- a/src/router_core/management_agent.c
+++ b/src/router_core/management_agent.c
@@ -47,7 +47,7 @@ const unsigned char *auto_link_entity_type       = (unsigned char*) "org.apache.
 const unsigned char *address_entity_type         = (unsigned char*) "org.apache.qpid.dispatch.router.address";
 const unsigned char *link_entity_type            = (unsigned char*) "org.apache.qpid.dispatch.router.link";
 const unsigned char *console_entity_type         = (unsigned char*) "org.apache.qpid.dispatch.console";
-const unsigned char *router_stats_entity_type   = (unsigned char*) "org.apache.qpid.dispatch.routerStats";
+const unsigned char *router_entity_type          = (unsigned char*) "org.apache.qpid.dispatch.router";
 const unsigned char *connection_entity_type      = (unsigned char*) "org.apache.qpid.dispatch.connection";
 const unsigned char *config_exchange_entity_type = (unsigned char*) "org.apache.qpid.dispatch.router.config.exchange";
 const unsigned char *config_binding_entity_type  = (unsigned char*) "org.apache.qpid.dispatch.router.config.binding";
@@ -429,8 +429,8 @@ static bool qd_can_handle_request(qd_parsed_field_t           *properties_fld,
         *entity_type = QD_ROUTER_CONFIG_LINK_ROUTE;
     else if (qd_iterator_equal(qd_parse_raw(parsed_field), auto_link_entity_type))
         *entity_type = QD_ROUTER_CONFIG_AUTO_LINK;
-    else if (qd_iterator_equal(qd_parse_raw(parsed_field), router_stats_entity_type))
-        *entity_type = QD_ROUTER_ROUTER_STATS;
+    else if (qd_iterator_equal(qd_parse_raw(parsed_field), router_entity_type))
+        *entity_type = QD_ROUTER_ROUTER;
     else if (qd_iterator_equal(qd_parse_raw(parsed_field), console_entity_type))
         *entity_type = QD_ROUTER_FORBIDDEN;
     else if (qd_iterator_equal(qd_parse_raw(parsed_field), connection_entity_type))

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/61a4ddb5/tests/system_tests_autolinks.py
----------------------------------------------------------------------
diff --git a/tests/system_tests_autolinks.py b/tests/system_tests_autolinks.py
index 1feca3a..16aeca4 100644
--- a/tests/system_tests_autolinks.py
+++ b/tests/system_tests_autolinks.py
@@ -142,7 +142,7 @@ class AutolinkTest(TestCase):
         test.run()
         self.assertEqual(None, test.error)
 
-        long_type = 'org.apache.qpid.dispatch.routerStats'
+        long_type = 'org.apache.qpid.dispatch.router'
         query_command = 'QUERY --type=' + long_type
         output = json.loads(self.run_qdmanage(query_command))
         self.assertEqual(output[0]['deliveriesEgressRouteContainer'], 275)
@@ -161,7 +161,7 @@ class AutolinkTest(TestCase):
         test.run()
         self.assertEqual(None, test.error)
 
-        long_type = 'org.apache.qpid.dispatch.routerStats'
+        long_type = 'org.apache.qpid.dispatch.router'
         query_command = 'QUERY --type=' + long_type
         output = json.loads(self.run_qdmanage(query_command))
         self.assertEqual(output[0]['deliveriesEgressRouteContainer'], 275)
@@ -383,7 +383,7 @@ class AutolinkCreditTest(MessagingHandler):
         self.last_action = "Attached normal sender"
 
         local_node = Node.connect(self.normal_address, timeout=TIMEOUT)
-        res = local_node.query(type='org.apache.qpid.dispatch.routerStats')
+        res = local_node.query(type='org.apache.qpid.dispatch.router')
         results = res.results[0]
         attribute_names = res.attribute_names
         if 8 == results[attribute_names.index('autoLinkCount')]:

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/61a4ddb5/tests/system_tests_link_routes.py
----------------------------------------------------------------------
diff --git a/tests/system_tests_link_routes.py b/tests/system_tests_link_routes.py
index 3c737c3..6134c0f 100644
--- a/tests/system_tests_link_routes.py
+++ b/tests/system_tests_link_routes.py
@@ -579,7 +579,7 @@ class LinkRouteTest(TestCase):
         """
 
         local_node = Node.connect(self.routers[1].addresses[0], timeout=TIMEOUT)
-        res = local_node.query(type='org.apache.qpid.dispatch.routerStats')
+        res = local_node.query(type='org.apache.qpid.dispatch.router')
         results = res.results[0]
         attribute_list = res.attribute_names
 
@@ -617,7 +617,7 @@ class LinkRouteTest(TestCase):
         out = self.run_qdmanage(cmd=cmd, address=addr)
         self.assertEquals(out.rstrip(), '[]')
 
-        res = local_node.query(type='org.apache.qpid.dispatch.routerStats')
+        res = local_node.query(type='org.apache.qpid.dispatch.router')
         results = res.results[0]
         attribute_list = res.attribute_names
         self.assertEqual(results[attribute_list.index('linkRouteCount')], 0)

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/61a4ddb5/tests/system_tests_management.py
----------------------------------------------------------------------
diff --git a/tests/system_tests_management.py b/tests/system_tests_management.py
index 253724f..c349002 100644
--- a/tests/system_tests_management.py
+++ b/tests/system_tests_management.py
@@ -356,6 +356,9 @@ class ManagementTest(system_test.TestCase):
         entities = self.node.query().get_entities()
         routers = [e for e in entities if e.type == ROUTER]
         self.assertEqual(1, len(routers))
+        router = routers[0]
+        self.assertEqual(router.linkCount, len([e for e in entities if e.type == LINK]))
+        self.assertEqual(router.addrCount, len([e for e in entities if e.type == ADDRESS]))
 
     def test_router_node(self):
         """Test node entity in a trio of linked routers"""

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/61a4ddb5/tests/system_tests_one_router.py
----------------------------------------------------------------------
diff --git a/tests/system_tests_one_router.py b/tests/system_tests_one_router.py
index 6dd0de4..22a9d36 100644
--- a/tests/system_tests_one_router.py
+++ b/tests/system_tests_one_router.py
@@ -336,38 +336,6 @@ class OneRouterTest(TestCase):
         self.assertTrue(test.received_error)
         self.assertTrue(test.reject_count_match)
 
-    def test_36_query_router(self):
-        """
-        Query the router with type='org.apache.qpid.dispatch.router' and make sure everything matches up as expected.
-        """
-        local_node = Node.connect(self.address, timeout=TIMEOUT)
-        outs = local_node.query(type='org.apache.qpid.dispatch.router')
-        debug_dump = outs.attribute_names.index('debugDumpFile')
-        ra_interval_flux = outs.attribute_names.index('raIntervalFluxSeconds')
-        worker_threads = outs.attribute_names.index('workerThreads')
-        name = outs.attribute_names.index('name')
-        hello_interbval = outs.attribute_names.index('helloIntervalSeconds')
-        area = outs.attribute_names.index('area')
-        hello_max_age = outs.attribute_names.index('helloMaxAgeSeconds')
-        sasl_config_name = outs.attribute_names.index('saslConfigName')
-        remote_ls_max_age = outs.attribute_names.index('remoteLsMaxAgeSeconds')
-        default_distribution = outs.attribute_names.index('defaultDistribution')
-        ra_interval = outs.attribute_names.index('raIntervalSeconds')
-        mode = outs.attribute_names.index('mode')
-
-        self.assertEqual(outs.results[0][debug_dump], 'qddebug.txt')
-        self.assertEqual(outs.results[0][ra_interval_flux], 4)
-        self.assertEqual(outs.results[0][worker_threads], 4)
-        self.assertEqual(outs.results[0][name], 'router/QDR')
-        self.assertEqual(outs.results[0][hello_interbval], 1)
-        self.assertEqual(outs.results[0][area], '0')
-        self.assertEqual(outs.results[0][hello_max_age], 3)
-        self.assertEqual(outs.results[0][sasl_config_name], 'qdrouterd')
-        self.assertEqual(outs.results[0][remote_ls_max_age], 60)
-        self.assertEqual(outs.results[0][default_distribution], 'balanced')
-        self.assertEqual(outs.results[0][ra_interval], 30)
-        self.assertEqual(outs.results[0][mode], 'standalone')
-
     def test_37_connection_properties_unicode_string(self):
         """
         Tests connection property that is a map of unicode strings and integers
@@ -2342,7 +2310,7 @@ class MulticastUnsettledNoReceiverTest(MessagingHandler):
                         if result[16] != 250:
                             self.error = "Expected 250 dropped presettled deliveries but got " + str(result[16])
                         else:
-                            outs = local_node.query(type='org.apache.qpid.dispatch.routerStats')
+                            outs = local_node.query(type='org.apache.qpid.dispatch.router')
                             pos = outs.attribute_names.index("droppedPresettledDeliveries")
                             results = outs.results[0]
                             if results[pos] != 250:
@@ -2397,7 +2365,7 @@ class ReleasedVsModifiedTest(MessagingHandler):
 
     def get_modified_deliveries ( self ) :
         local_node = Node.connect(self.address, timeout=TIMEOUT)
-        outs = local_node.query(type='org.apache.qpid.dispatch.routerStats')
+        outs = local_node.query(type='org.apache.qpid.dispatch.router')
         pos = outs.attribute_names.index("modifiedDeliveries")
         results = outs.results[0]
         n_modified_deliveries = results [ pos ]
@@ -2522,7 +2490,7 @@ class BatchedSettlementTest(MessagingHandler):
     def check_if_done(self):
         if self.n_settled == self.count:
             local_node = Node.connect(self.address, timeout=TIMEOUT)
-            outs = local_node.query(type='org.apache.qpid.dispatch.routerStats')
+            outs = local_node.query(type='org.apache.qpid.dispatch.router')
             pos = outs.attribute_names.index("acceptedDeliveries")
             results = outs.results[0]
             if results >= self.count:
@@ -2672,7 +2640,7 @@ class PresettledOverflowTest(MessagingHandler):
                         if result[16] != 250:
                             self.error = "Expected 250 dropped presettled deliveries but got " + str(result[16])
                         else:
-                            outs = local_node.query(type='org.apache.qpid.dispatch.routerStats')
+                            outs = local_node.query(type='org.apache.qpid.dispatch.router')
                             pos_presett = outs.attribute_names.index("presettledDeliveries")
                             pos = outs.attribute_names.index("droppedPresettledDeliveries")
                             results = outs.results[0]
@@ -2705,7 +2673,7 @@ class RejectDispositionTest(MessagingHandler):
 
     def count_rejects ( self ) :
         local_node = Node.connect(self.address, timeout=TIMEOUT)
-        outs = local_node.query(type='org.apache.qpid.dispatch.routerStats')
+        outs = local_node.query(type='org.apache.qpid.dispatch.router')
         pos = outs.attribute_names.index("rejectedDeliveries")
         results = outs.results[0]
         return results[pos]

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/61a4ddb5/tests/system_tests_qdmanage.py
----------------------------------------------------------------------
diff --git a/tests/system_tests_qdmanage.py b/tests/system_tests_qdmanage.py
index b54b487..febd6cb 100644
--- a/tests/system_tests_qdmanage.py
+++ b/tests/system_tests_qdmanage.py
@@ -177,7 +177,7 @@ class QdmanageTest(TestCase):
 
     def test_get_types(self):
         out = json.loads(self.run_qdmanage("get-types"))
-        self.assertEqual(len(out), 29)
+        self.assertEqual(len(out), 28)
 
     def test_get_attributes(self):
         out = json.loads(self.run_qdmanage("get-attributes"))
@@ -185,11 +185,11 @@ class QdmanageTest(TestCase):
 
     def test_get_attributes(self):
         out = json.loads(self.run_qdmanage("get-attributes"))
-        self.assertEqual(len(out), 29)
+        self.assertEqual(len(out), 28)
 
     def test_get_operations(self):
         out = json.loads(self.run_qdmanage("get-operations"))
-        self.assertEqual(len(out), 29)
+        self.assertEqual(len(out), 28)
         self.assertEqual(out['org.apache.qpid.dispatch.sslProfile'], [u'CREATE', u'DELETE', u'READ'])
 
     def test_get_types_with_ssl_profile_type(self):

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/61a4ddb5/tests/system_tests_two_routers.py
----------------------------------------------------------------------
diff --git a/tests/system_tests_two_routers.py b/tests/system_tests_two_routers.py
index 9dcfe0d..83902fe 100644
--- a/tests/system_tests_two_routers.py
+++ b/tests/system_tests_two_routers.py
@@ -105,7 +105,7 @@ class TwoRouterTest(TestCase):
         self.assertEqual(None, test.error)
 
         local_node = Node.connect(self.routers[0].addresses[0], timeout=TIMEOUT)
-        outs = local_node.query(type='org.apache.qpid.dispatch.routerStats')
+        outs = local_node.query(type='org.apache.qpid.dispatch.router')
 
         # deliveriesTransit must most surely be greater than num_msgs
         pos = outs.attribute_names.index("deliveriesTransit")

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/61a4ddb5/tools/qdstat
----------------------------------------------------------------------
diff --git a/tools/qdstat b/tools/qdstat
index e4c486a..f385b85 100755
--- a/tools/qdstat
+++ b/tools/qdstat
@@ -229,7 +229,7 @@ class BusManager(Node):
         heads.append(Header("value"))
         rows = []
 
-        objects = self.query('org.apache.qpid.dispatch.routerStats')
+        objects = self.query('org.apache.qpid.dispatch.router')
 
         router = objects[0]
         rows.append(('Version',       router.version))


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