Github user srdo commented on a diff in the pull request:

    https://github.com/apache/storm/pull/2338#discussion_r140341190
  
    --- Diff: 
storm-client/src/jvm/org/apache/storm/cluster/StormClusterStateImpl.java ---
    @@ -423,32 +424,35 @@ public void supervisorHeartbeat(String supervisorId, 
SupervisorInfo info) {
         }
     
         /**
    -     * if znode exists and to be not on?, delete; if exists and on?, do 
nothing; if not exists and to be on?, create; if not exists and not on?, do 
nothing;
    +     * if znode exists and timestamp is 0?, delete; if exists and 
timestamp is larger than 0?, do nothing;
    +     * if not exists and timestamp is larger than 0?, create the node and 
set the timestamp; if not exists and timestamp is 0?, do nothing;
          * 
          * @param stormId
          * @param node
          * @param port
    -     * @param on
    +     * @param timestamp
          */
         @Override
    -    public void workerBackpressure(String stormId, String node, Long port, 
boolean on) {
    +    public void workerBackpressure(String stormId, String node, Long port, 
long timestamp) {
             String path = ClusterUtils.backpressurePath(stormId, node, port);
             boolean existed = stateStorage.node_exists(path, false);
             if (existed) {
    -            if (on == false)
    +            if (timestamp == 0) {
                     stateStorage.delete_node(path);
    -
    +            }
    --- End diff --
    
    Shouldn't we update the timestamp if timestamp != 0 here?


---

Reply via email to