You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Ferenc Gerlits (Jira)" <ji...@apache.org> on 2022/02/24 08:36:00 UTC
[jira] [Updated] (MINIFICPP-1754) Always include agentManifestIdentifier in heartbeat
[ https://issues.apache.org/jira/browse/MINIFICPP-1754?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ferenc Gerlits updated MINIFICPP-1754:
--------------------------------------
Description:
Currently, MiNiFi sends the agentManifest only in the first heartbeat and as a response to DESCRIBE operation. This works properly as long as the C2 server receives/handles that heartbeat successfully, but in case of any issue (eg: network or any update) it's lost and the C2 server won't be aware of any manifest update of that agent till it restarts again.
We would like to fine-tune this behavior by always adding(in lightweight heartbeat as well) an agent manifest hash into the heartbeat request, what would be generated using the static part of the manifest and would reflect what extensions are loaded (later the supported operations would be considered as well during the generation).
An example implementation in the current minifi-java: [https://github.com/hortonworks/minifi/blob/CEM-1.3.1.0/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-runtime/src/main/java/org/apache/nifi/minifi/MiNiFi.java#L242]
The desired node would be the *agentInfo.agentManifestHash* (the value is the same hash as we currently have under the agentInfo.agentManifest.identifier)
was:
Currently, MiNiFi sends the agentManifest only in the first heartbeat and as a response to DESCRIBE operation. This works properly until C2 server receives/handles that heartbeat successfully, but in case of any issue (eg: network or any update) it's lost and the C2 server won't be aware of any manifest update of that agent till it restarts again.
We would like to fine-tune this behavior by always adding(in lightweight heartbeat as well) an agent manifest hash into the heartbeat request, what would be generated using the static part of the manifest and would reflect what extensions are loaded (later the supported operations would be considered as well during the generation).
An example implementation in the current minifi-java: [https://github.com/hortonworks/minifi/blob/CEM-1.3.1.0/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-runtime/src/main/java/org/apache/nifi/minifi/MiNiFi.java#L242|https://github.com/hortonworks/minifi/blob/CEM-1.3.1.0/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-runtime/src/main/java/org/apache/nifi/minifi/MiNiFi.java#L242]
The desired node would be the *agentInfo.agentManifestHash* (the value is the same hash as we currently have under the agentInfo.agentManifest.identifier)
> Always include agentManifestIdentifier in heartbeat
> ---------------------------------------------------
>
> Key: MINIFICPP-1754
> URL: https://issues.apache.org/jira/browse/MINIFICPP-1754
> Project: Apache NiFi MiNiFi C++
> Issue Type: Improvement
> Reporter: Ádám Markovics
> Assignee: Ádám Markovics
> Priority: Major
> Time Spent: 10m
> Remaining Estimate: 0h
>
> Currently, MiNiFi sends the agentManifest only in the first heartbeat and as a response to DESCRIBE operation. This works properly as long as the C2 server receives/handles that heartbeat successfully, but in case of any issue (eg: network or any update) it's lost and the C2 server won't be aware of any manifest update of that agent till it restarts again.
> We would like to fine-tune this behavior by always adding(in lightweight heartbeat as well) an agent manifest hash into the heartbeat request, what would be generated using the static part of the manifest and would reflect what extensions are loaded (later the supported operations would be considered as well during the generation).
> An example implementation in the current minifi-java: [https://github.com/hortonworks/minifi/blob/CEM-1.3.1.0/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-runtime/src/main/java/org/apache/nifi/minifi/MiNiFi.java#L242]
> The desired node would be the *agentInfo.agentManifestHash* (the value is the same hash as we currently have under the agentInfo.agentManifest.identifier)
--
This message was sent by Atlassian Jira
(v8.20.1#820001)