Github user srdo commented on a diff in the pull request: https://github.com/apache/storm/pull/2764#discussion_r209064682 --- Diff: storm-server/src/main/java/org/apache/storm/daemon/nimbus/Nimbus.java --- @@ -1984,11 +2074,13 @@ private int fragmentedCpu() { Cluster cluster = new Cluster(inimbus, supervisors, topoToSchedAssignment, topologies, conf); cluster.setStatusMap(idToSchedStatus.get()); - long beforeSchedule = System.currentTimeMillis(); + schedulingStartTime.set(Time.nanoTime()); scheduler.schedule(topologies, cluster); - long scheduleTimeElapsedMs = System.currentTimeMillis() - beforeSchedule; - LOG.debug("Scheduling took {} ms for {} topologies", scheduleTimeElapsedMs, topologies.getTopologies().size()); - scheduleTopologyTimeMs.update(scheduleTimeElapsedMs); + //Will compiler optimize the order of evalutation and cause race condition? --- End diff -- You're right. I don't see a good fix. I agree that the race is not that important, I'd maybe just remove the comments, since users won't see them here.
---