Skip to content

Commit 3bc055a

Browse files
committed
Additional logs
1 parent 3eb9f43 commit 3bc055a

File tree

5 files changed

+24
-4
lines changed

5 files changed

+24
-4
lines changed

simulator/src/main/java/byzzbench/simulator/config/ByzzBenchConfig.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public class ByzzBenchConfig {
5252
* @return The output path for this run.
5353
*/
5454
public Path getOutputPathForThisRun() {
55-
return this.outputPath.resolve(getRunName() + "-T" + String.valueOf(SimulatorApplication.getStartTime().getEpochSecond()));
55+
return this.outputPath.resolve((getRunName() + "-T").replaceAll("- -", "-") + String.valueOf(SimulatorApplication.getStartTime().getEpochSecond()));
5656
}
5757

5858
public String getRunName() {

simulator/src/main/java/byzzbench/simulator/faults/factories/ByzzFuzzScenarioFaultFactory.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,10 @@ public List<Fault> generateFaults(FaultContext input) {
6262
// Faults
6363
if(input.getScenario() instanceof EDHotStuffScenario edHotStuffScenario) {
6464
edHotStuffScenario.log("ByzzFuzzFaults:");
65-
faults.forEach(fault -> edHotStuffScenario.log(fault.getId()));
65+
faults.forEach(fault -> {
66+
edHotStuffScenario.log(fault.getId());
67+
edHotStuffScenario.getState().addFault(fault.getId());
68+
});
6669
}
6770
else {
6871
System.out.println("ByzzFuzzFaults:");

simulator/src/main/java/byzzbench/simulator/protocols/event_driven_hotstuff/EDHSScenarioState.java

+10
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
import lombok.Getter;
55
import lombok.ToString;
66

7+
import java.util.ArrayList;
8+
import java.util.Collection;
9+
710
@Data
811
public class EDHSScenarioState {
912
private boolean livenessViolation;
@@ -12,6 +15,7 @@ public class EDHSScenarioState {
1215
private long minView;
1316
private int commitedNodes;
1417
private boolean validAssumptions;
18+
private ArrayList<String> faults;
1519

1620
public EDHSScenarioState() {
1721
livenessViolation = false;
@@ -20,6 +24,11 @@ public EDHSScenarioState() {
2024
minView = 0;
2125
commitedNodes = 0;
2226
validAssumptions = true;
27+
faults = new ArrayList<>();
28+
}
29+
30+
public void addFault(String fault) {
31+
faults.add(fault);
2332
}
2433

2534
@Override
@@ -31,6 +40,7 @@ public String toString() {
3140
", minView=" + minView +
3241
", commitedNodes=" + commitedNodes +
3342
", validAssumptions=" + validAssumptions +
43+
", faults=" + faults +
3444
'}';
3545
}
3646
}

simulator/src/main/java/byzzbench/simulator/service/SimulatorService.java

+5-2
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,7 @@ public void start() {
267267
System.out.println("failedScenarios: " + String.join(", ", failedScenarios));
268268
System.out.println("errorScenarios: " + String.join(", ", errorScenarios));
269269
try {
270+
scenarioStates.removeFirst();
270271
long validCount = scenarioStates.stream().filter(s -> s.isValidAssumptions()).count();
271272
long validA = scenarioStates.stream().filter(s -> s.isValidAssumptions() && s.isAgreementViolation()).count();
272273
long validT = scenarioStates.stream().filter(s -> s.isValidAssumptions() && s.isLivenessViolation()).count();
@@ -301,8 +302,10 @@ public void start() {
301302
System.out.println(summary);
302303

303304
String results = Files.readString(resultsPath);
304-
results += byzzBenchConfig.getRunName().replaceAll("-", " & ") + " & " ;
305-
results += validCount + " & " + validA + " & " + validT + " & " + (validA + validT) + " & " + invalidCount + " & " + invalidA + " & " + invalidT + " & " + (invalidA + invalidT) + " & " + (validA + validT + invalidA + invalidT) + " \\\\\n";
305+
results += (byzzBenchConfig.getRunName().replaceAll("-", " & ") + " & ").replaceAll(" {3}", " - ") ;
306+
results += validCount > 0 ? validCount + " & " + validA + " & " + validT + " & " + (validA + validT) + " & " : "- & - & - & - & ";
307+
results += invalidCount > 0 ? invalidCount + " & " + invalidA + " & " + invalidT + " & " + (invalidA + invalidT) + " & " : "- & - & - & - & ";
308+
results += (validA + validT + invalidA + invalidT) + " \\\\\n";
306309
Files.writeString(resultsPath, results);
307310
} catch (IOException e) {
308311
throw new RuntimeException(e);

simulator/src/main/java/byzzbench/simulator/transport/Transport.java

+4
Original file line numberDiff line numberDiff line change
@@ -316,6 +316,8 @@ public synchronized void dropEvent(long eventId) {
316316
e.setStatus(Event.Status.DROPPED);
317317
this.observers.forEach(o -> o.onEventDropped(e));
318318
log.info("Dropped: " + e);
319+
if(scenario instanceof EDHotStuffScenario edHotStuffScenario)
320+
edHotStuffScenario.log("DROPPED MESSAGE: " + e);
319321
}
320322

321323
/**
@@ -347,6 +349,8 @@ public synchronized void applyMutation(long eventId, Fault fault) {
347349
throw new IllegalArgumentException("Mutator not found");
348350
}
349351

352+
if(e.getStatus() == Event.Status.DROPPED) return;
353+
350354
// check if event is not in QUEUED state
351355
if (e.getStatus() != Event.Status.QUEUED) {
352356
throw new IllegalArgumentException("Message not found or not in QUEUED state");

0 commit comments

Comments
 (0)