Github user ijokarumawak commented on a diff in the pull request:
https://github.com/apache/nifi/pull/2947#discussion_r222208930
--- Diff:
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/StandardFlowSynchronizer.java
---
@@ -1499,6 +1519,10 @@ private ProcessGroup addProcessGroup(final
FlowController controller, final Proc
connection.getFlowFileQueue().setFlowFileExpiration(dto.getFlowFileExpiration());
}
+ if (dto.getLoadBalanceStrategy() != null) {
+
connection.getFlowFileQueue().setLoadBalanceStrategy(LoadBalanceStrategy.valueOf(dto.getLoadBalanceStrategy()),
dto.getLoadBalancePartitionAttribute());
--- End diff --
We also need to set compression here. After restarting one of cluster
nodes, it loses compression setting when it loads flow from file, then
encounter following exception as it couldn't read the Gzipped stream correctly.
```
java.io.EOFException: null
at
org.apache.nifi.stream.io.StreamUtils.fillBuffer(StreamUtils.java:92)
at
org.apache.nifi.stream.io.StreamUtils.fillBuffer(StreamUtils.java:72)
at
org.apache.nifi.controller.queue.clustered.server.StandardLoadBalanceProtocol.readLongString(StandardLoadBalanceProtocol.java:507)
at
org.apache.nifi.controller.queue.clustered.server.StandardLoadBalanceProtocol.readAttributes(StandardLoadBalanceProtocol.java:495)
at
org.apache.nifi.controller.queue.clustered.server.StandardLoadBalanceProtocol.receiveFlowFile(StandardLoadBalanceProtocol.java:467)
at
org.apache.nifi.controller.queue.clustered.server.StandardLoadBalanceProtocol.receiveFlowFiles(StandardLoadBalanceProtocol.java:294)
at
org.apache.nifi.controller.queue.clustered.server.StandardLoadBalanceProtocol.receiveFlowFiles(StandardLoadBalanceProtocol.java:157)
at
org.apache.nifi.controller.queue.clustered.server.ConnectionLoadBalanceServer$CommunicateAction.run(ConnectionLoadBalanceServer.java:176)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
```
---