Github user srdo commented on a diff in the pull request:
https://github.com/apache/storm/pull/2764#discussion_r208721202
--- Diff:
storm-server/src/main/java/org/apache/storm/daemon/nimbus/Nimbus.java ---
@@ -2219,21 +2305,16 @@ private void mkAssignments(String scratchTopoId)
throws Exception {
newAssignments.put(topoId, newAssignment);
}
- if (!newAssignments.equals(existingAssignments)) {
+ boolean assignmentChanged =
inspectSchduling(existingAssignments, newAssignments);
+ if (assignmentChanged) {
LOG.debug("RESETTING id->resources and
id->worker-resources cache!");
- LOG.info("Fragmentation after scheduling is: {} MB, {}
PCore CPUs", fragmentedMemory(), fragmentedCpu());
- nodeIdToResources.get().forEach((id, node) ->
- LOG.info(
- "Node Id: {} Total
Mem: {}, Used Mem: {}, Available Mem: {}, Total CPU: {}, Used "
- + "CPU: {},
Available CPU: {}, fragmented: {}",
- id,
node.getTotalMem(), node.getUsedMem(), node.getAvailableMem(),
-
node.getTotalCpu(), node.getUsedCpu(), node.getAvailableCpu(),
isFragmented(node)));
idToResources.set(new HashMap<>());
idToWorkerResources.set(new HashMap<>());
}
//tasks figure out what tasks to talk to by looking at
topology at runtime
// only log/set when there's been a change to the assignment
+ // TODO: why do we have loop fission here
--- End diff --
My guess would be for readability. If you want to refactor go ahead.
---