diff --git a/rapid/src/main/java/com/vrg/rapid/FastPaxos.java b/rapid/src/main/java/com/vrg/rapid/FastPaxos.java index e100bba..311919c 100644 --- a/rapid/src/main/java/com/vrg/rapid/FastPaxos.java +++ b/rapid/src/main/java/com/vrg/rapid/FastPaxos.java @@ -145,7 +145,7 @@ private void handleFastRoundProposal(final FastRoundPhase2bMessage proposalMessa final int F = (int) Math.floor((membershipSize - 1) / 4.0); // Fast Paxos resiliency. if (votesReceived.size() >= membershipSize - F) { if (count >= membershipSize - F) { - LOG.trace("Decided on a view change: {}", proposalMessage.getEndpointsList()); + LOG.trace("Decided on a view change: {}", Utils.loggable(proposalMessage.getEndpointsList())); // We have a successful proposal. Consume it. onDecidedWrapped.accept(proposalMessage.getEndpointsList()); } else { diff --git a/rapid/src/main/java/com/vrg/rapid/MembershipService.java b/rapid/src/main/java/com/vrg/rapid/MembershipService.java index fb8c785..b2c8f4d 100644 --- a/rapid/src/main/java/com/vrg/rapid/MembershipService.java +++ b/rapid/src/main/java/com/vrg/rapid/MembershipService.java @@ -383,6 +383,9 @@ private ListenableFuture handleLeaveMessage(final RapidRequest re * and any node that is currently in the membership list will be removed from it. */ private void decideViewChange(final List proposal) { + LOG.info("Decide view change called in current configuration {} ({} nodes), for proposal {}", + membershipView.getCurrentConfigurationId(), membershipView.getMembershipSize(), + Utils.loggable(proposal)); // The first step is to disable our failure detectors in anticipation of new ones to be created. cancelFailureDetectorJobs(); diff --git a/rapid/src/test/java/com/vrg/rapid/ClusterTest.java b/rapid/src/test/java/com/vrg/rapid/ClusterTest.java index d36b08e..c43b9dc 100644 --- a/rapid/src/test/java/com/vrg/rapid/ClusterTest.java +++ b/rapid/src/test/java/com/vrg/rapid/ClusterTest.java @@ -341,7 +341,6 @@ public void failTenRandomNodes() throws IOException, InterruptedException { */ @Test public void injectAsymmetricDrops() throws IOException, InterruptedException { - useFastFailureDetectionTimeouts(); final int numNodes = 50; final int numFailingNodes = 10; final Endpoint seedEndpoint = Utils.hostFromParts("127.0.0.1", basePort); @@ -353,7 +352,7 @@ public void injectAsymmetricDrops() throws IOException, InterruptedException { // we may have less than numFailedNodes entries in the set failedNodes.forEach(host -> dropFirstNAtServer(host, 100, RapidRequest.ContentCase.PROBEMESSAGE)); createCluster(numNodes, seedEndpoint); - waitAndVerifyAgreement(numNodes - failedNodes.size(), 10, 1000); + waitAndVerifyAgreement(numNodes - failedNodes.size(), 20, 1500); verifyNumClusterInstances(numNodes); } diff --git a/rapid/src/test/resources/log4j.properties b/rapid/src/test/resources/log4j.properties index a68df32..2e37ea0 100644 --- a/rapid/src/test/resources/log4j.properties +++ b/rapid/src/test/resources/log4j.properties @@ -11,11 +11,13 @@ # permissions and limitations under the License. # -log4j.rootLogger=ERROR, STDOUT +log4j.rootLogger=OFF, STDOUT log4j.logger.com.vrg.rapid.Cluster=ERROR -log4j.logger.com.vrg.rapid.MembershipService=ERROR -log4j.logger.com.vrg.rapid.Paxos=ERROR +log4j.logger.com.vrg.rapid.MembershipService=INFO +log4j.logger.com.vrg.rapid.Paxos=INFO log4j.logger.com.vrg.rapid.FastPaxos=ERROR +log4j.logger.com.vrg.rapid.SharedResources=ERROR +log4j.logger.com.vrg.rapid.messaging.impl.Retries=OFF log4j.logger.io.grpc.internal.ManagedChannelOrphanWrapper=OFF log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout