diff options
author | Magdalena GrodziĆska <mag.grodzinska@gmail.com> | 2020-01-11 12:59:05 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-11 12:59:05 +0100 |
commit | f54068421c2b4883b3fbcc4e003d83ff528b5cc4 (patch) | |
tree | f51ff1d4dfe7599eb513b093a27674cd20f78888 /src/main/java/pl/edu/mimuw/cloudatlas/agent/modules | |
parent | ea35ef1c86401257d82daf978d5870285f7c163e (diff) | |
parent | fb16df8494e39327038a78b768538fefa3025337 (diff) |
Merge pull request #95 from m-chrzan/small_fixes
Small fixes
Diffstat (limited to 'src/main/java/pl/edu/mimuw/cloudatlas/agent/modules')
-rw-r--r-- | src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/GossipGirlStrategies.java | 13 | ||||
-rw-r--r-- | src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/Stanik.java | 7 |
2 files changed, 12 insertions, 8 deletions
diff --git a/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/GossipGirlStrategies.java b/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/GossipGirlStrategies.java index 4cd534e..79efe39 100644 --- a/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/GossipGirlStrategies.java +++ b/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/GossipGirlStrategies.java @@ -34,7 +34,6 @@ public class GossipGirlStrategies { ArrayList<Pair<String, Double>> zoneProbabilities; zoneProbabilities = new ArrayList<>(fullPathLength); - // TODO check if we decrease in good direction for (int i = 0; i < fullPathLength; i++) { Pair<String, Double> probPair = new Pair<String, Double>(fullPathComponents.get(i), Math.exp((double) i+1)); zoneProbabilities.add(probPair); @@ -48,7 +47,6 @@ public class GossipGirlStrategies { zoneProbabilities = new ArrayList<>(fullPathLength); Double uniformProb = 1.0/fullPathLength; - // TODO good direction for (int i = 0; i < fullPathLength; i++) { Pair<String, Double> probPair = new Pair<String, Double>(fullPathComponents.get(i), uniformProb); zoneProbabilities.add(probPair); @@ -72,10 +70,9 @@ public class GossipGirlStrategies { } private String updateRoundRobinExpFreqs() { - // TODO good direction - for (int i = roundRobinExpFreqs.size() - 1; i > 0; i--) { + for (int i = 0; i < roundRobinExpFreqs.size() - 1; i++) { Pair<String, Integer> p = roundRobinExpFreqs.get(i); - Pair<String, Integer> nextP = roundRobinExpFreqs.get(i-1); + Pair<String, Integer> nextP = roundRobinExpFreqs.get(i+1); if (2 * p.getSecond() < nextP.getSecond()) { roundRobinExpFreqs.set(i, new Pair<String, Integer>(p.getFirst(), p.getSecond() + 1)); @@ -83,8 +80,10 @@ public class GossipGirlStrategies { } } - Pair<String, Integer> rootPath = roundRobinExpFreqs.get(0); - roundRobinExpFreqs.set(0, new Pair<String, Integer>(rootPath.getFirst(), rootPath.getSecond() + 1)); + Pair<String, Integer> rootPath = roundRobinExpFreqs.get(roundRobinExpFreqs.size() - 1); + roundRobinExpFreqs.set( + roundRobinExpFreqs.size() - 1, + new Pair<String, Integer>(rootPath.getFirst(), rootPath.getSecond() + 1)); return rootPath.getFirst(); } diff --git a/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/Stanik.java b/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/Stanik.java index 6761c94..3fca1d5 100644 --- a/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/Stanik.java +++ b/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/Stanik.java @@ -1,5 +1,6 @@ package pl.edu.mimuw.cloudatlas.agent.modules; +import java.nio.file.Path; import java.util.HashMap; import java.util.LinkedList; import java.util.List; @@ -141,7 +142,11 @@ public class Stanik extends Module { */ public void handleSetAttribte(SetAttributeMessage message) { try { - ZMI zmi = hierarchy.findDescendant(new PathName(message.getPathName())); + PathName descendantPath = new PathName(message.getPathName()); + if (!hierarchy.descendantExists(descendantPath)) { + addMissingZones(descendantPath); + } + ZMI zmi = hierarchy.findDescendant(descendantPath); ValueTime updateTimestamp = message.getUpdateTimestamp(); ValueTime currentTimestamp = (ValueTime) zmi.getAttributes().getOrNull("timestamp"); if (ValueUtils.valueLower(currentTimestamp, updateTimestamp)) { |