In DatanodeAdminManager.activate(), the Monitor task is scheduled with a fixed rate, ie. the period is from start1 -> start2.
According to Java API docs for scheduleAtFixedRate,
If any execution of this task takes longer than its period, then subsequent executions may start late, but will not concurrently execute.
It should be a fixed delay so it's end1 -> start1.