You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Pierre Villard (JIRA)" <ji...@apache.org> on 2017/01/25 10:36:26 UTC

[jira] [Created] (NIFI-3393) REST API - Inconsistency on /controller/cluster/nodes/{id}

Pierre Villard created NIFI-3393:
------------------------------------

             Summary: REST API - Inconsistency on /controller/cluster/nodes/{id}
                 Key: NIFI-3393
                 URL: https://issues.apache.org/jira/browse/NIFI-3393
             Project: Apache NiFi
          Issue Type: Bug
          Components: Extensions
            Reporter: Pierre Villard
            Priority: Minor


According to which node is requested through the REST API, the end point

{noformat}
/controller/cluster/nodes/{id}
{noformat}

will not return the same result. This is due to the fact that in {{ControllerResource}}, the request is not replicated to the cluster coordinator.

If this is not the expected behavior, the following code should be added:

{noformat}
if (isReplicateRequest()) {
    return replicate(HttpMethod.GET, getClusterCoordinatorNode());
}
{noformat}

At the moment, if requesting the cluster coordinator, I get something like:

{noformat}
{u'node': {u'status': u'CONNECTED', u'roles': [], u'nodeId': u'd403e2c0-44a7-4c1c-aaa4-fed2ee3d6993', u'apiPort': 8443, u'events': [.....], u'nodeStartTime': u'01/25/2017 10:21:38 CET', u'address': u'node-1', u'heartbeat': u'01/25/2017 11:24:47 CET', u'queued': u'0 / 0 bytes', u'activeThreadCount': 0}}
{noformat}

And, on another node:

{noformat}
{u'node': {u'status': u'CONNECTED', u'roles': [], u'nodeId': u'd403e2c0-44a7-4c1c-aaa4-fed2ee3d6993', u'apiPort': 8443, u'address': u'node-1', u'events': []}}
{noformat}

In other words, all this part is missing:

{noformat}
        // only connected nodes have heartbeats
        if (nodeHeartbeat != null) {
            final Date heartbeat = new Date(nodeHeartbeat.getTimestamp());
            nodeDto.setHeartbeat(heartbeat);
            nodeDto.setNodeStartTime(new Date(nodeHeartbeat.getSystemStartTime()));
            nodeDto.setActiveThreadCount(nodeHeartbeat.getActiveThreadCount());
            nodeDto.setQueued(FormatUtils.formatCount(nodeHeartbeat.getFlowFileCount()) + " / " + FormatUtils.formatDataSize(nodeHeartbeat.getFlowFileBytes()));
        }
{noformat}



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