Zhengdai Hu created STORM-3098:
----------------------------------

             Summary: Fix bug in filterChangingBlobsFor() in Slot.java
                 Key: STORM-3098
                 URL: https://issues.apache.org/jira/browse/STORM-3098
             Project: Apache Storm
          Issue Type: Bug
          Components: storm-server
    Affects Versions: 2.0.0
            Reporter: Zhengdai Hu
             Fix For: 2.0.0


The following method is not implemented correctly

{code:java}
 private static DynamicState filterChangingBlobsFor(DynamicState dynamicState, 
final LocalAssignment assignment) {
        if (!dynamicState.changingBlobs.isEmpty()) {
            return dynamicState;
        }

        HashSet<BlobChanging> savedBlobs = new 
HashSet<>(dynamicState.changingBlobs.size());
        for (BlobChanging rc : dynamicState.changingBlobs) {
            if (forSameTopology(assignment, rc.assignment)) {
                savedBlobs.add(rc);
            } else {
                rc.latch.countDown();
            }
        }
        return dynamicState.withChangingBlobs(savedBlobs);
    }

{code}

It doesn't modify dynamicState in anyway.
The solution is to remove the negation in the first if statement.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to