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

    https://github.com/apache/storm/pull/2710#discussion_r208096352
  
    --- Diff: 
storm-server/src/main/java/org/apache/storm/daemon/supervisor/Slot.java ---
    @@ -1147,8 +1162,19 @@ public DynamicState 
withPendingLocalization(Future<Void> pendingDownload) {
              */
             public DynamicState withState(final MachineState state) {
                 long newStartTime = Time.currentTimeMillis();
    +            //We may (though unlikely) lose metering here if state 
transition is too frequent (less than a millisecond)
    +            workerStateDuration.get(this.state).update(newStartTime - 
startTime, TimeUnit.MILLISECONDS);
    +            workerStateTransition.get(state).mark();
    +
    +            LocalAssignment assignment = this.currentAssignment;
    +            if (this.state != MachineState.RUNNING && state == 
MachineState.RUNNING
    +                && this.currentAssignment instanceof 
TimerDecoratedAssignment) {
    +                ((TimerDecoratedAssignment) assignment).stopTiming();
    +                assignment = new LocalAssignment(this.currentAssignment);
    --- End diff --
    
    A few comments would be helpful.


---

Reply via email to