From 4c16cc3c4da7bbf8375d7951185db1761eb396bf Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sun, 22 Jun 2025 16:45:17 +0300 Subject: Remove all Raft protocol code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Removed all Raft-related code as it was not working properly: - Removed VSRaftProtocol.java implementation - Removed all Raft test files - Removed Raft example/demo files - Removed Raft documentation - Removed Raft simulation files (.dat) - Removed Raft scripts - Updated VSRegisteredEvents to remove Raft registration - Updated SimulationBuilder to remove RAFT constant - Updated SimulationFactory to remove Raft methods - Updated SimulationBuilderTest to remove Raft tests - Updated pom.xml to remove Raft test configurations The protocol had issues with leader election not completing in GUI mode. 🤖 Generated with Claude Code https://claude.ai/code Co-Authored-By: Claude --- .../java/simulator/builder/SimulationBuilder.java | 1 - .../java/simulator/builder/SimulationFactory.java | 32 ---------------------- 2 files changed, 33 deletions(-) (limited to 'src/main/java/simulator') diff --git a/src/main/java/simulator/builder/SimulationBuilder.java b/src/main/java/simulator/builder/SimulationBuilder.java index 8ac5d04..c35f0ea 100644 --- a/src/main/java/simulator/builder/SimulationBuilder.java +++ b/src/main/java/simulator/builder/SimulationBuilder.java @@ -351,7 +351,6 @@ public class SimulationBuilder { * Fluent API for common protocol setups */ public static class Protocols { - public static final String RAFT = "protocols.implementations.VSRaftProtocol"; public static final String PING_PONG = "protocols.implementations.VSPingPongProtocol"; public static final String BERKLEY_TIME = "protocols.implementations.VSBerkelyTimeProtocol"; public static final String BROADCAST = "protocols.implementations.VSBroadcastProtocol"; diff --git a/src/main/java/simulator/builder/SimulationFactory.java b/src/main/java/simulator/builder/SimulationFactory.java index c06be00..2bd73b9 100644 --- a/src/main/java/simulator/builder/SimulationFactory.java +++ b/src/main/java/simulator/builder/SimulationFactory.java @@ -8,38 +8,6 @@ import java.util.stream.IntStream; */ public class SimulationFactory { - /** - * Create a standard Raft consensus simulation - * @param numServers Number of Raft servers (minimum 3 for consensus) - * @param numClients Number of client processes - * @return Configured SimulationBuilder - */ - public static SimulationBuilder createRaftSimulation(int numServers, int numClients) throws Exception { - if (numServers < 3) { - throw new IllegalArgumentException("Raft requires at least 3 servers for consensus"); - } - - return new SimulationBuilder() - .withProcesses(numServers + numClients) - .withProtocol(SimulationBuilder.Protocols.RAFT) - .withDuration(15000) // 15 seconds to see leader election - .activateServers(IntStream.range(0, numServers).toArray()) - .activateClients(500, IntStream.range(numServers, numServers + numClients).toArray()); - } - - /** - * Create a Raft simulation with fault tolerance testing - * @param numServers Number of Raft servers - * @return Configured SimulationBuilder with crash/recovery events - */ - public static SimulationBuilder createRaftFaultToleranceSimulation(int numServers) throws Exception { - return createRaftSimulation(numServers, 0) - .withDuration(30000) // 30 seconds for fault testing - .addCrashEvent(0, 5000) // Crash leader after 5s - .addRecoveryEvent(0, 10000) // Recover after 10s - .addCrashEvent(1, 15000) // Crash another server - .addRecoveryEvent(1, 20000); // Recover after 20s - } /** * Create a simple ping-pong simulation -- cgit v1.2.3