This is an automated email from the ASF dual-hosted git repository. markap14 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nifi.git
commit e05d11c0b4fef2935c2ae0c3265853bbe63ab2b0 Author: Mark Payne <[email protected]> AuthorDate: Fri Dec 13 15:09:15 2019 -0500 NIFI-6787: Added a comment to the UI tooltip, user guide, and javadocs to indicate that round robin may skip a node if that node is not receiving the data as fast as other nodes in the cluster, in order to maximum throughput. --- nifi-docs/src/main/asciidoc/user-guide.adoc | 4 +++- .../java/org/apache/nifi/controller/queue/LoadBalanceStrategy.java | 3 ++- .../nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-common.js | 3 ++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/nifi-docs/src/main/asciidoc/user-guide.adoc b/nifi-docs/src/main/asciidoc/user-guide.adoc index 9253418..396cc99 100644 --- a/nifi-docs/src/main/asciidoc/user-guide.adoc +++ b/nifi-docs/src/main/asciidoc/user-guide.adoc @@ -1244,7 +1244,9 @@ To distribute the data in a flow across the nodes in the cluster, NiFi offers th - *Do not load balance*: Do not load balance FlowFiles between nodes in the cluster. This is the default. - *Partition by attribute*: Determines which node to send a given FlowFile to based on the value of a user-specified FlowFile Attribute. All FlowFiles that have the same value for the Attribute will be sent to the same node in the cluster. If the destination node is disconnected from the cluster or if unable to communicate, the data does not fail over to another node. The data will queue, waiting for the node to be available again. Additionally, if a node joins or leaves the cluster nece [...] -- *Round robin*: FlowFiles will be distributed to nodes in the cluster in a round-robin fashion. If a node is disconnected from the cluster or if unable to communicate with a node, the data that is queued for that node will be automatically redistributed to another node(s). +- *Round robin*: FlowFiles will be distributed to nodes in the cluster in a round-robin fashion. If a node is disconnected from the cluster or if unable to communicate with a node, the data that is +queued for that node will be automatically redistributed to another node(s). If a node is not able to receive the data as fast other nodes in the cluster, the node may also be skipped for one or +more iterations in order to maximize throughput of data distribution across the cluster. - *Single node*: All FlowFiles will be sent to a single node in the cluster. Which node they are sent to is not configurable. If the node is disconnected from the cluster or if unable to communicate with the node, the data that is queued for that node will remain queued until the node is available again. NOTE: In addition to the UI settings, there are <<administration-guide.adoc#cluster_node_properties,Cluster Node Properties>> related to load balancing that must also be configured in _nifi.properties_. diff --git a/nifi-framework-api/src/main/java/org/apache/nifi/controller/queue/LoadBalanceStrategy.java b/nifi-framework-api/src/main/java/org/apache/nifi/controller/queue/LoadBalanceStrategy.java index 3053548..d07f509 100644 --- a/nifi-framework-api/src/main/java/org/apache/nifi/controller/queue/LoadBalanceStrategy.java +++ b/nifi-framework-api/src/main/java/org/apache/nifi/controller/queue/LoadBalanceStrategy.java @@ -30,7 +30,8 @@ public enum LoadBalanceStrategy { PARTITION_BY_ATTRIBUTE, /** - * FlowFiles will be distributed to nodes in the cluster in a Round-Robin fashion. + * FlowFiles will be distributed to nodes in the cluster in a Round-Robin fashion. However, if a node in the cluster is not able to receive data as fast as other nodes, + * that node may be skipped in one or more iterations in order to maximize throughput of data distribution across the cluster. */ ROUND_ROBIN, diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-common.js b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-common.js index 77d5847..63c4bf2 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-common.js +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-common.js @@ -1233,7 +1233,8 @@ }, { text: 'Round robin', value: 'ROUND_ROBIN', - description: 'FlowFiles will be distributed to nodes in the cluster in a Round-Robin fashion.' + description: 'FlowFiles will be distributed to nodes in the cluster in a Round-Robin fashion. However, if a node in the cluster is not able to receive data as fast as other nodes,' + + ' that node may be skipped in one or more iterations in order to maximize throughput of data distribution across the cluster.' }, { text: 'Single node', value: 'SINGLE_NODE',
