From c577b64ba33fca4fb5d879dc94a491b5003b0ae9 Mon Sep 17 00:00:00 2001 From: BMatajsz <90217645+BMatajsz@users.noreply.github.com> Date: Mon, 2 Dec 2024 23:50:26 -0500 Subject: Progress --- src/main/java/derms/replica1/Replica1.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/main/java/derms/replica1') diff --git a/src/main/java/derms/replica1/Replica1.java b/src/main/java/derms/replica1/Replica1.java index 10c0ce5..7e10994 100644 --- a/src/main/java/derms/replica1/Replica1.java +++ b/src/main/java/derms/replica1/Replica1.java @@ -45,7 +45,7 @@ public class Replica1 implements Replica { } @Override - public void startProcess() { + public void startProcess(int byzantine, int crash) { pool.execute(DERMSServer::new); alive = true; log.info(getClass().getSimpleName() + " started."); @@ -70,7 +70,7 @@ public class Replica1 implements Replica { ThreadPool.shutdown(pool, log); alive = false; log.info("Finished shutting down."); - startProcess(); + startProcess(0, 0); } @Override -- cgit v1.2.3 From 69a4c73336cfe88852251b131c14034208bb4658 Mon Sep 17 00:00:00 2001 From: BMatajsz <90217645+BMatajsz@users.noreply.github.com> Date: Tue, 3 Dec 2024 00:15:41 -0500 Subject: Modified replicas --- src/main/java/derms/replica1/Replica1.java | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/main/java/derms/replica1') diff --git a/src/main/java/derms/replica1/Replica1.java b/src/main/java/derms/replica1/Replica1.java index 7e10994..654ec44 100644 --- a/src/main/java/derms/replica1/Replica1.java +++ b/src/main/java/derms/replica1/Replica1.java @@ -22,6 +22,7 @@ public class Replica1 implements Replica { private final InetAddress localAddr; private final ResponderClient responderClient; private final ReplicaManager replicaManager; + private boolean byzFailure; public Replica1(ReplicaManager replicaManager) { this.replicaManager = replicaManager; @@ -46,6 +47,20 @@ public class Replica1 implements Replica { @Override public void startProcess(int byzantine, int crash) { + // [TEST] Detect crash + if (crash == 1) { + alive = false; + } else { + alive = true; + } + + // [TEST] Detect byzantine failure + if (byzantine == 1) { + byzFailure = true; + } else { + byzFailure = false; + } + pool.execute(DERMSServer::new); alive = true; log.info(getClass().getSimpleName() + " started."); @@ -54,6 +69,13 @@ public class Replica1 implements Replica { @Override public void processRequest(Request request) { + // [TEST] Simulate byzantine failure (return incorrect value) + if (byzFailure == true) { + Response response = new Response(request, replicaManager.getReplicaId(), "BYZANTINE FAILURE", false); + replicaManager.sendResponseToFE(response); + return; + } + String status = responderClient.addResource( request.getResourceID(), request.getResourceType(), @@ -70,6 +92,8 @@ public class Replica1 implements Replica { ThreadPool.shutdown(pool, log); alive = false; log.info("Finished shutting down."); + + // [TEST] Restart process without byzantine failure or crash startProcess(0, 0); } -- cgit v1.2.3 From d6067d28ce2a22c64cb595af6bca48c81b1664da Mon Sep 17 00:00:00 2001 From: BMatajsz <90217645+BMatajsz@users.noreply.github.com> Date: Tue, 3 Dec 2024 03:30:34 -0500 Subject: Test progress --- .../java/derms/replica1/DERMSServerPublisher.java | 21 ++++++++++++++------- src/main/java/derms/replica1/Replica1.java | 2 +- 2 files changed, 15 insertions(+), 8 deletions(-) (limited to 'src/main/java/derms/replica1') diff --git a/src/main/java/derms/replica1/DERMSServerPublisher.java b/src/main/java/derms/replica1/DERMSServerPublisher.java index df175b6..9b5ba91 100644 --- a/src/main/java/derms/replica1/DERMSServerPublisher.java +++ b/src/main/java/derms/replica1/DERMSServerPublisher.java @@ -2,15 +2,22 @@ package derms.replica1; import javax.xml.ws.Endpoint; +import derms.frontend.DERMSServerImpl; + public class DERMSServerPublisher { + + private static Endpoint endpoint; + public static void main(String[] args) { - try { - Endpoint.publish("http://localhost:8387/ws/derms", new DERMSServer("MTL")); -// Endpoint.publish("http://localhost:8081/ws/derms", new DERMSServer("QUE")); -// Endpoint.publish("http://localhost:8082/ws/derms", new DERMSServer("SHE")); - } catch (InterruptedException e) { - throw new RuntimeException(e); + // Publish the web service + endpoint = Endpoint.publish("http://127.0.0.1:8387/ws/derms", new DERMSServerImpl()); + System.out.println("DERMS Server is published at http://127.0.0.1:8387/ws/derms"); + } + + public static void stop() { + if (endpoint != null && endpoint.isPublished()) { + endpoint.stop(); + System.out.println("DERMS Server is stopped."); } - System.out.println("DERMS Web Service is published at http://localhost:8387/ws/derms"); } } \ No newline at end of file diff --git a/src/main/java/derms/replica1/Replica1.java b/src/main/java/derms/replica1/Replica1.java index 654ec44..64565e6 100644 --- a/src/main/java/derms/replica1/Replica1.java +++ b/src/main/java/derms/replica1/Replica1.java @@ -62,7 +62,7 @@ public class Replica1 implements Replica { } pool.execute(DERMSServer::new); - alive = true; + //alive = true; log.info(getClass().getSimpleName() + " started."); log.config("Local address is "+localAddr.toString()); } -- cgit v1.2.3 From 44df5df0b65df279aaf471fa8258da218ed7c522 Mon Sep 17 00:00:00 2001 From: BMatajsz <90217645+BMatajsz@users.noreply.github.com> Date: Tue, 3 Dec 2024 09:34:00 -0500 Subject: Added expected test results --- src/main/java/derms/replica1/Replica1.java | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/main/java/derms/replica1') diff --git a/src/main/java/derms/replica1/Replica1.java b/src/main/java/derms/replica1/Replica1.java index 64565e6..dd5b545 100644 --- a/src/main/java/derms/replica1/Replica1.java +++ b/src/main/java/derms/replica1/Replica1.java @@ -5,6 +5,7 @@ import derms.ReplicaManager; import derms.Request; import derms.Response; import derms.replica2.DermsLogger; +import derms.util.TestLogger; import derms.util.ThreadPool; import java.io.IOException; @@ -94,6 +95,7 @@ public class Replica1 implements Replica { log.info("Finished shutting down."); // [TEST] Restart process without byzantine failure or crash + TestLogger.log("REPLICA 1: {RESTARTED}"); startProcess(0, 0); } -- cgit v1.2.3 From 3c63903f60f175f98b83126dca9db83468af7fda Mon Sep 17 00:00:00 2001 From: Sam Anthony Date: Tue, 3 Dec 2024 11:07:44 -0500 Subject: replica1: fix typo --- src/main/java/derms/replica1/DERMSServerPublisher.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/main/java/derms/replica1') diff --git a/src/main/java/derms/replica1/DERMSServerPublisher.java b/src/main/java/derms/replica1/DERMSServerPublisher.java index 442f844..281c1f1 100644 --- a/src/main/java/derms/replica1/DERMSServerPublisher.java +++ b/src/main/java/derms/replica1/DERMSServerPublisher.java @@ -10,7 +10,7 @@ public class DERMSServerPublisher { try { endpoints[0] = Endpoint.publish("http://localhost:8387/ws/derms", new DERMSServer("MTL")); endpoints[1] = Endpoint.publish("http://localhost:8081/ws/derms", new DERMSServer("QUE")); - endpoints[3] = Endpoint.publish("http://localhost:8082/ws/derms", new DERMSServer("SHE")); + endpoints[2] = Endpoint.publish("http://localhost:8082/ws/derms", new DERMSServer("SHE")); } catch (InterruptedException e) { throw new RuntimeException(e); } -- cgit v1.2.3 From 92bf77c700873f2a014ad09b50790c2a1032ebd5 Mon Sep 17 00:00:00 2001 From: BMatajsz <90217645+BMatajsz@users.noreply.github.com> Date: Tue, 3 Dec 2024 11:25:43 -0500 Subject: Conflict1 --- src/main/java/derms/replica1/DERMSServerPublisher.java | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/main/java/derms/replica1') diff --git a/src/main/java/derms/replica1/DERMSServerPublisher.java b/src/main/java/derms/replica1/DERMSServerPublisher.java index 281c1f1..917c189 100644 --- a/src/main/java/derms/replica1/DERMSServerPublisher.java +++ b/src/main/java/derms/replica1/DERMSServerPublisher.java @@ -23,5 +23,13 @@ public class DERMSServerPublisher { System.out.println("DERMS Server is stopped."); } } +// try { +// Endpoint.publish("http://localhost:8387/ws/derms", new DERMSServer("MTL")); +// Endpoint.publish("http://localhost:8081/ws/derms", new DERMSServer("QUE")); +// Endpoint.publish("http://localhost:8082/ws/derms", new DERMSServer("SHE")); +// } catch (InterruptedException e) { +// throw new RuntimeException(e); +// } +// System.out.println("DERMS Web Service is published at http://localhost:8387/ws/derms"); } } \ No newline at end of file -- cgit v1.2.3