m-chrzan.xyz
aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcin Chrzanowski <marcin.j.chrzanowski@gmail.com>2020-01-12 16:12:53 +0100
committerMarcin Chrzanowski <marcin.j.chrzanowski@gmail.com>2020-01-12 16:12:53 +0100
commit94d88e27bc6ac28a2c92de76f193920b664040dd (patch)
tree217ca58c3bdbd6051dbd3601a39659b0f1ed554e
parenta91ffb770782450b0dd23f0510cd80ec531f7339 (diff)
parentd88caa2d3fdb3cc5d17a4367583e8ab385ead3b6 (diff)
Merge branch 'master' into gossip-gc
-rw-r--r--build.gradle2
-rw-r--r--src/main/java/pl/edu/mimuw/cloudatlas/agent/Agent.java3
-rw-r--r--src/main/java/pl/edu/mimuw/cloudatlas/agent/HierarchyConfig.java4
-rw-r--r--src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/GossipGirl.java2
-rw-r--r--src/main/java/pl/edu/mimuw/cloudatlas/client/ClientController.java2
-rw-r--r--src/main/java/pl/edu/mimuw/cloudatlas/fetcher/Fetcher.java7
-rw-r--r--src/test/java/pl/edu/mimuw/cloudatlas/agent/AgentIntegrationTest.java4
-rw-r--r--src/test/java/pl/edu/mimuw/cloudatlas/agent/SchedulerTest.java6
-rw-r--r--src/test/java/pl/edu/mimuw/cloudatlas/agent/UDUPTest.java12
9 files changed, 22 insertions, 20 deletions
diff --git a/build.gradle b/build.gradle
index 13be045..d7909f7 100644
--- a/build.gradle
+++ b/build.gradle
@@ -116,12 +116,14 @@ task runClient(type: JavaExec) {
classpath = sourceSets.main.runtimeClasspath
main = 'pl.edu.mimuw.cloudatlas.client.Client'
systemProperty 'agent_hostname', hostname()
+ systemProperty 'zone_path', zonePath()
}
task runFetcher(type: JavaExec) {
classpath = sourceSets.main.runtimeClasspath
main = 'pl.edu.mimuw.cloudatlas.fetcher.Fetcher'
args(hostname() , 1099)
+ systemProperty 'zone_path', zonePath()
}
task runInterpreter(type: JavaExec) {
diff --git a/src/main/java/pl/edu/mimuw/cloudatlas/agent/Agent.java b/src/main/java/pl/edu/mimuw/cloudatlas/agent/Agent.java
index 0cbda2d..24ed0c1 100644
--- a/src/main/java/pl/edu/mimuw/cloudatlas/agent/Agent.java
+++ b/src/main/java/pl/edu/mimuw/cloudatlas/agent/Agent.java
@@ -42,7 +42,6 @@ public class Agent {
// TODO: make query period confiurable with config file and from tests
- // TODO config setup
String zonePath = System.getProperty("zone_path");
String selectionStrategy = System.getProperty("Gossip.zone_strategy");
Long queryPeriod = Long.getLong("query_period");
@@ -50,6 +49,6 @@ public class Agent {
HierarchyConfig hierarchyConfig = new HierarchyConfig(eventBus, zonePath, selectionStrategy);
hierarchyConfig.startQueries(queryPeriod);
- hierarchyConfig.startGossip(gossipPeriod);
+ hierarchyConfig.startGossip(gossipPeriod, zonePath);
}
}
diff --git a/src/main/java/pl/edu/mimuw/cloudatlas/agent/HierarchyConfig.java b/src/main/java/pl/edu/mimuw/cloudatlas/agent/HierarchyConfig.java
index dc5241d..f9e323a 100644
--- a/src/main/java/pl/edu/mimuw/cloudatlas/agent/HierarchyConfig.java
+++ b/src/main/java/pl/edu/mimuw/cloudatlas/agent/HierarchyConfig.java
@@ -37,7 +37,7 @@ public class HierarchyConfig {
}
}
- public void startGossip(long gossipPeriod) {
+ public void startGossip(long gossipPeriod, String zonePath) {
Supplier<TimerScheduledTask> taskSupplier = () ->
new TimerScheduledTask() {
public void run() {
@@ -47,7 +47,7 @@ public class HierarchyConfig {
ValueContact contact = selectContactFromLevel(gossipLevel);
if (contact != null) {
System.out.println("INFO: found a contact " + contact.toString());
- InitiateGossipMessage message = new InitiateGossipMessage("", 0, new PathName("/uw/violet07"), contact);
+ InitiateGossipMessage message = new InitiateGossipMessage("", 0, new PathName(zonePath), contact);
sendMessage(message);
} else {
System.out.println("DEBUG: couldn't find contact for gossip");
diff --git a/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/GossipGirl.java b/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/GossipGirl.java
index 08d8580..e795b83 100644
--- a/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/GossipGirl.java
+++ b/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/GossipGirl.java
@@ -166,7 +166,7 @@ public class GossipGirl extends Module {
if (state != null) {
state.setLastAction();
state.gotAttributes(message);
- if (state.state == GossipGirlState.State.SEND_INFO) {
+ if (state.state == GossipGirlState.State.SEND_INFO || state.state == GossipGirlState.State.SEND_INFO_AND_FINISH) {
sendInfo(state);
}
UpdateAttributesMessage updateMessage = new UpdateAttributesMessage("", 0, message.getPath().toString(), message.getAttributes());
diff --git a/src/main/java/pl/edu/mimuw/cloudatlas/client/ClientController.java b/src/main/java/pl/edu/mimuw/cloudatlas/client/ClientController.java
index 210505d..4019696 100644
--- a/src/main/java/pl/edu/mimuw/cloudatlas/client/ClientController.java
+++ b/src/main/java/pl/edu/mimuw/cloudatlas/client/ClientController.java
@@ -53,7 +53,7 @@ public class ClientController {
return size() > MAX_ENTRIES;
}
};
- this.currentZoneName = "/uw/violet07";
+ this.currentZoneName = System.getProperty("zone_path");
fetchAttributeData(); // fetch attribute data as early as possible
}
diff --git a/src/main/java/pl/edu/mimuw/cloudatlas/fetcher/Fetcher.java b/src/main/java/pl/edu/mimuw/cloudatlas/fetcher/Fetcher.java
index 15f8a59..12d795a 100644
--- a/src/main/java/pl/edu/mimuw/cloudatlas/fetcher/Fetcher.java
+++ b/src/main/java/pl/edu/mimuw/cloudatlas/fetcher/Fetcher.java
@@ -92,7 +92,7 @@ public class Fetcher {
}
// https://jj09.net/interprocess-communication-python-java/
- private static void fetchData() {
+ private static void fetchData(String zonePath) {
BufferedReader bufferRead;
ArrayList deserializedAttribs;
String jsonAttribs;
@@ -111,7 +111,7 @@ public class Fetcher {
deserializedAttribs = deserializeAttribs(jsonAttribs);
for (int i = 0; i < fetcherAttributeNames.size(); i++) {
api.setAttributeValue(
- "/uw/violet07",
+ zonePath,
fetcherAttributeNames.get(i),
packAttributeValue(
deserializedAttribs.get(i),
@@ -143,7 +143,8 @@ public class Fetcher {
}
public static void main(String[] args) {
+ String zonePath = System.getProperty("zone_path");
parseArgs(args);
- fetchData();
+ fetchData(zonePath);
}
}
diff --git a/src/test/java/pl/edu/mimuw/cloudatlas/agent/AgentIntegrationTest.java b/src/test/java/pl/edu/mimuw/cloudatlas/agent/AgentIntegrationTest.java
index e2c12d6..9028026 100644
--- a/src/test/java/pl/edu/mimuw/cloudatlas/agent/AgentIntegrationTest.java
+++ b/src/test/java/pl/edu/mimuw/cloudatlas/agent/AgentIntegrationTest.java
@@ -48,9 +48,9 @@ public class AgentIntegrationTest {
@BeforeClass
public static void bindApi() throws Exception {
registryProcess = Runtime.getRuntime().exec("./scripts/registry");
- Thread.sleep(10000);
+ Thread.sleep(5000);
agentProcess = Runtime.getRuntime().exec("./gradlew runAgent -Dhostname=localhost -DfreshnessPeriod=10000000 -DqueryPeriod=100");
- Thread.sleep(10000);
+ Thread.sleep(5000);
registry = LocateRegistry.getRegistry("localhost");
api = (Api) registry.lookup("Api");
diff --git a/src/test/java/pl/edu/mimuw/cloudatlas/agent/SchedulerTest.java b/src/test/java/pl/edu/mimuw/cloudatlas/agent/SchedulerTest.java
index 4a9eb87..99051ff 100644
--- a/src/test/java/pl/edu/mimuw/cloudatlas/agent/SchedulerTest.java
+++ b/src/test/java/pl/edu/mimuw/cloudatlas/agent/SchedulerTest.java
@@ -60,7 +60,7 @@ public class SchedulerTest {
}
}));
- Thread.sleep(1000);
+ Thread.sleep(300);
}
@Test
@@ -92,7 +92,7 @@ public class SchedulerTest {
}));
- Thread.sleep(1000);
+ Thread.sleep(300);
}
@Test
@@ -129,6 +129,6 @@ public class SchedulerTest {
}
}));
- Thread.sleep(1000);
+ Thread.sleep(300);
}
}
diff --git a/src/test/java/pl/edu/mimuw/cloudatlas/agent/UDUPTest.java b/src/test/java/pl/edu/mimuw/cloudatlas/agent/UDUPTest.java
index ac2c587..f731706 100644
--- a/src/test/java/pl/edu/mimuw/cloudatlas/agent/UDUPTest.java
+++ b/src/test/java/pl/edu/mimuw/cloudatlas/agent/UDUPTest.java
@@ -30,7 +30,7 @@ public class UDUPTest {
UDUPServer server2 = null;
UDUPMessage msg1 = null;
boolean testSuccess = true;
- int timeout = 5000;
+ int timeout = 500;
try {
System.out.println("Starting udp1");
@@ -72,7 +72,7 @@ public class UDUPTest {
udpThread2.start();
try {
- Thread.sleep(500);
+ Thread.sleep(100);
if (udp1 == null | udp2 == null) {
testSuccess = false;
} else {
@@ -102,7 +102,7 @@ public class UDUPTest {
UDUPServer server2 = null;
UDUPMessage msg1 = null;
boolean testSuccess = true;
- int timeout = 3000;
+ int timeout = 1000;
try {
System.out.println("Starting udp1");
@@ -144,7 +144,7 @@ public class UDUPTest {
udpThread2.start();
try {
- Thread.sleep(500);
+ Thread.sleep(100);
if (udp1 == null | udp2 == null) {
testSuccess = false;
} else {
@@ -177,7 +177,7 @@ public class UDUPTest {
UDUPMessage msg2 = null;
UDUPMessage msg3 = null;
boolean testSuccess = true;
- int timeout = 3000;
+ int timeout = 1000;
try {
System.out.println("Starting udp1");
@@ -231,7 +231,7 @@ public class UDUPTest {
udpThread2.start();
try {
- Thread.sleep(500);
+ Thread.sleep(100);
if (udp1 == null | udp2 == null) {
testSuccess = false;
} else {