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)
    
    ```


---

Reply via email to