Skip to content

Commit eb3bef6

Browse files
committed
back to small scope
1 parent c68c82d commit eb3bef6

File tree

5 files changed

+1335
-1335
lines changed

5 files changed

+1335
-1335
lines changed

simulator/src/main/java/byzzbench/simulator/protocols/hbft/mutator/CommitMessageMutatorFactory.java

+119-119
Original file line numberDiff line numberDiff line change
@@ -25,121 +25,6 @@ public class CommitMessageMutatorFactory extends MessageMutatorFactory {
2525
@Override
2626
public List<MessageMutationFault> mutators() {
2727
return List.of(
28-
// new MessageMutationFault("hbft-commit-view-inc", "Increment View Number",List.of(CommitMessage.class)) {
29-
// @Override
30-
// public void accept(FaultContext serializable) {
31-
// Optional<Event> event = serializable.getEvent();
32-
// if (event.isEmpty()) {
33-
// throw invalidMessageTypeException;
34-
// }
35-
// if (!(event.get() instanceof MessageEvent messageEvent)) {
36-
// throw invalidMessageTypeException;
37-
// }
38-
// if (!(messageEvent.getPayload() instanceof CommitMessage message)) {
39-
// throw invalidMessageTypeException;
40-
// }
41-
// CommitMessage mutatedMessage = message.withViewNumber(message.getViewNumber() + 1);
42-
// mutatedMessage.sign(message.getSignedBy());
43-
// messageEvent.setPayload(mutatedMessage);
44-
// }
45-
// },
46-
// new MessageMutationFault("hbft-commit-view-dec", "Decrement View Number", List.of(CommitMessage.class)) {
47-
// @Override
48-
// public void accept(FaultContext serializable) {
49-
// Optional<Event> event = serializable.getEvent();
50-
// if (event.isEmpty()) {
51-
// throw invalidMessageTypeException;
52-
// }
53-
// if (!(event.get() instanceof MessageEvent messageEvent)) {
54-
// throw invalidMessageTypeException;
55-
// }
56-
// if (!(messageEvent.getPayload() instanceof CommitMessage message)) {
57-
// throw invalidMessageTypeException;
58-
// }
59-
// CommitMessage mutatedMessage = message.withViewNumber(message.getViewNumber() - 1);
60-
// mutatedMessage.sign(message.getSignedBy());
61-
// messageEvent.setPayload(mutatedMessage);
62-
// }
63-
// },
64-
// new MessageMutationFault("hbft-commit-seq-inc", "Increment Sequence Number", List.of(CommitMessage.class)) {
65-
// @Override
66-
// public void accept(FaultContext serializable) {
67-
// Optional<Event> event = serializable.getEvent();
68-
// if (event.isEmpty()) {
69-
// throw invalidMessageTypeException;
70-
// }
71-
// if (!(event.get() instanceof MessageEvent messageEvent)) {
72-
// throw invalidMessageTypeException;
73-
// }
74-
// if (!(messageEvent.getPayload() instanceof CommitMessage message)) {
75-
// throw invalidMessageTypeException;
76-
// }
77-
78-
// CommitMessage mutatedMessage = message.withSequenceNumber(message.getSequenceNumber() + 1);
79-
// mutatedMessage.sign(message.getSignedBy());
80-
// messageEvent.setPayload(mutatedMessage);
81-
// }
82-
// },
83-
// new MessageMutationFault("hbft-commit-sec-dec", "Decrement Sequence Number", List.of(CommitMessage.class)) {
84-
// @Override
85-
// public void accept(FaultContext serializable) {
86-
// Optional<Event> event = serializable.getEvent();
87-
// if (event.isEmpty()) {
88-
// throw invalidMessageTypeException;
89-
// }
90-
// if (!(event.get() instanceof MessageEvent messageEvent)) {
91-
// throw invalidMessageTypeException;
92-
// }
93-
// if (!(messageEvent.getPayload() instanceof CommitMessage message)) {
94-
// throw invalidMessageTypeException;
95-
// }
96-
// CommitMessage mutatedMessage = message.withSequenceNumber(message.getSequenceNumber() - 1);
97-
// mutatedMessage.sign(message.getSignedBy());
98-
// messageEvent.setPayload(mutatedMessage);
99-
// }
100-
// },
101-
// new MessageMutationFault("hbft-commit-different-digest", "Change digest", List.of(CommitMessage.class)) {
102-
// @Override
103-
// public void accept(FaultContext serializable) {
104-
// Optional<Event> event = serializable.getEvent();
105-
// if (event.isEmpty()) {
106-
// throw invalidMessageTypeException;
107-
// }
108-
// if (!(event.get() instanceof MessageEvent messageEvent)) {
109-
// throw invalidMessageTypeException;
110-
// }
111-
// if (!(messageEvent.getPayload() instanceof CommitMessage message)) {
112-
// throw invalidMessageTypeException;
113-
// }
114-
// // Create a random digest
115-
// byte[] digest = new byte[20];
116-
// CommitMessage mutatedMessage = message.withDigest(digest);
117-
// mutatedMessage.sign(message.getSignedBy());
118-
// messageEvent.setPayload(mutatedMessage);
119-
// }
120-
// },
121-
// new MessageMutationFault("hbft-commit-remove-last-request-from-history", "Remove last request from history", List.of(CommitMessage.class)) {
122-
// @Override
123-
// public void accept(FaultContext serializable) {
124-
// Optional<Event> event = serializable.getEvent();
125-
// if (event.isEmpty()) {
126-
// throw invalidMessageTypeException;
127-
// }
128-
// if (!(event.get() instanceof MessageEvent messageEvent)) {
129-
// throw invalidMessageTypeException;
130-
// }
131-
// if (!(messageEvent.getPayload() instanceof CommitMessage message)) {
132-
// throw invalidMessageTypeException;
133-
// }
134-
// SpeculativeHistory history = message.getSpeculativeHistory().getHistoryBefore(message.getSequenceNumber());
135-
// CommitMessage mutatedMessage = message.withSpeculativeHistory(history);
136-
// mutatedMessage.sign(message.getSignedBy());
137-
// messageEvent.setPayload(mutatedMessage);
138-
// }
139-
// }
140-
141-
// ANY-SCOPE mutations
142-
//,
14328
new MessageMutationFault("hbft-commit-view-inc", "Increment View Number",List.of(CommitMessage.class)) {
14429
@Override
14530
public void accept(FaultContext serializable) {
@@ -153,7 +38,7 @@ public void accept(FaultContext serializable) {
15338
if (!(messageEvent.getPayload() instanceof CommitMessage message)) {
15439
throw invalidMessageTypeException;
15540
}
156-
CommitMessage mutatedMessage = message.withViewNumber(message.getViewNumber() + random.nextLong(bound));
41+
CommitMessage mutatedMessage = message.withViewNumber(message.getViewNumber() + 1);
15742
mutatedMessage.sign(message.getSignedBy());
15843
messageEvent.setPayload(mutatedMessage);
15944
}
@@ -171,7 +56,7 @@ public void accept(FaultContext serializable) {
17156
if (!(messageEvent.getPayload() instanceof CommitMessage message)) {
17257
throw invalidMessageTypeException;
17358
}
174-
CommitMessage mutatedMessage = message.withViewNumber(message.getViewNumber() - random.nextLong(bound));
59+
CommitMessage mutatedMessage = message.withViewNumber(message.getViewNumber() - 1);
17560
mutatedMessage.sign(message.getSignedBy());
17661
messageEvent.setPayload(mutatedMessage);
17762
}
@@ -190,7 +75,7 @@ public void accept(FaultContext serializable) {
19075
throw invalidMessageTypeException;
19176
}
19277

193-
CommitMessage mutatedMessage = message.withSequenceNumber(message.getSequenceNumber() + random.nextLong(bound));
78+
CommitMessage mutatedMessage = message.withSequenceNumber(message.getSequenceNumber() + 1);
19479
mutatedMessage.sign(message.getSignedBy());
19580
messageEvent.setPayload(mutatedMessage);
19681
}
@@ -208,12 +93,127 @@ public void accept(FaultContext serializable) {
20893
if (!(messageEvent.getPayload() instanceof CommitMessage message)) {
20994
throw invalidMessageTypeException;
21095
}
211-
CommitMessage mutatedMessage = message.withSequenceNumber(message.getSequenceNumber() - random.nextLong(bound));
96+
CommitMessage mutatedMessage = message.withSequenceNumber(message.getSequenceNumber() - 1);
97+
mutatedMessage.sign(message.getSignedBy());
98+
messageEvent.setPayload(mutatedMessage);
99+
}
100+
},
101+
new MessageMutationFault("hbft-commit-different-digest", "Change digest", List.of(CommitMessage.class)) {
102+
@Override
103+
public void accept(FaultContext serializable) {
104+
Optional<Event> event = serializable.getEvent();
105+
if (event.isEmpty()) {
106+
throw invalidMessageTypeException;
107+
}
108+
if (!(event.get() instanceof MessageEvent messageEvent)) {
109+
throw invalidMessageTypeException;
110+
}
111+
if (!(messageEvent.getPayload() instanceof CommitMessage message)) {
112+
throw invalidMessageTypeException;
113+
}
114+
// Create a random digest
115+
byte[] digest = new byte[20];
116+
CommitMessage mutatedMessage = message.withDigest(digest);
117+
mutatedMessage.sign(message.getSignedBy());
118+
messageEvent.setPayload(mutatedMessage);
119+
}
120+
},
121+
new MessageMutationFault("hbft-commit-remove-last-request-from-history", "Remove last request from history", List.of(CommitMessage.class)) {
122+
@Override
123+
public void accept(FaultContext serializable) {
124+
Optional<Event> event = serializable.getEvent();
125+
if (event.isEmpty()) {
126+
throw invalidMessageTypeException;
127+
}
128+
if (!(event.get() instanceof MessageEvent messageEvent)) {
129+
throw invalidMessageTypeException;
130+
}
131+
if (!(messageEvent.getPayload() instanceof CommitMessage message)) {
132+
throw invalidMessageTypeException;
133+
}
134+
SpeculativeHistory history = message.getSpeculativeHistory().getHistoryBefore(message.getSequenceNumber());
135+
CommitMessage mutatedMessage = message.withSpeculativeHistory(history);
212136
mutatedMessage.sign(message.getSignedBy());
213137
messageEvent.setPayload(mutatedMessage);
214138
}
215139
}
216140

141+
// ANY-SCOPE mutations
142+
//,
143+
// new MessageMutationFault("hbft-commit-view-inc", "Increment View Number",List.of(CommitMessage.class)) {
144+
// @Override
145+
// public void accept(FaultContext serializable) {
146+
// Optional<Event> event = serializable.getEvent();
147+
// if (event.isEmpty()) {
148+
// throw invalidMessageTypeException;
149+
// }
150+
// if (!(event.get() instanceof MessageEvent messageEvent)) {
151+
// throw invalidMessageTypeException;
152+
// }
153+
// if (!(messageEvent.getPayload() instanceof CommitMessage message)) {
154+
// throw invalidMessageTypeException;
155+
// }
156+
// CommitMessage mutatedMessage = message.withViewNumber(message.getViewNumber() + random.nextLong(bound));
157+
// mutatedMessage.sign(message.getSignedBy());
158+
// messageEvent.setPayload(mutatedMessage);
159+
// }
160+
// },
161+
// new MessageMutationFault("hbft-commit-view-dec", "Decrement View Number", List.of(CommitMessage.class)) {
162+
// @Override
163+
// public void accept(FaultContext serializable) {
164+
// Optional<Event> event = serializable.getEvent();
165+
// if (event.isEmpty()) {
166+
// throw invalidMessageTypeException;
167+
// }
168+
// if (!(event.get() instanceof MessageEvent messageEvent)) {
169+
// throw invalidMessageTypeException;
170+
// }
171+
// if (!(messageEvent.getPayload() instanceof CommitMessage message)) {
172+
// throw invalidMessageTypeException;
173+
// }
174+
// CommitMessage mutatedMessage = message.withViewNumber(message.getViewNumber() - random.nextLong(bound));
175+
// mutatedMessage.sign(message.getSignedBy());
176+
// messageEvent.setPayload(mutatedMessage);
177+
// }
178+
// },
179+
// new MessageMutationFault("hbft-commit-seq-inc", "Increment Sequence Number", List.of(CommitMessage.class)) {
180+
// @Override
181+
// public void accept(FaultContext serializable) {
182+
// Optional<Event> event = serializable.getEvent();
183+
// if (event.isEmpty()) {
184+
// throw invalidMessageTypeException;
185+
// }
186+
// if (!(event.get() instanceof MessageEvent messageEvent)) {
187+
// throw invalidMessageTypeException;
188+
// }
189+
// if (!(messageEvent.getPayload() instanceof CommitMessage message)) {
190+
// throw invalidMessageTypeException;
191+
// }
192+
193+
// CommitMessage mutatedMessage = message.withSequenceNumber(message.getSequenceNumber() + random.nextLong(bound));
194+
// mutatedMessage.sign(message.getSignedBy());
195+
// messageEvent.setPayload(mutatedMessage);
196+
// }
197+
// },
198+
// new MessageMutationFault("hbft-commit-sec-dec", "Decrement Sequence Number", List.of(CommitMessage.class)) {
199+
// @Override
200+
// public void accept(FaultContext serializable) {
201+
// Optional<Event> event = serializable.getEvent();
202+
// if (event.isEmpty()) {
203+
// throw invalidMessageTypeException;
204+
// }
205+
// if (!(event.get() instanceof MessageEvent messageEvent)) {
206+
// throw invalidMessageTypeException;
207+
// }
208+
// if (!(messageEvent.getPayload() instanceof CommitMessage message)) {
209+
// throw invalidMessageTypeException;
210+
// }
211+
// CommitMessage mutatedMessage = message.withSequenceNumber(message.getSequenceNumber() - random.nextLong(bound));
212+
// mutatedMessage.sign(message.getSignedBy());
213+
// messageEvent.setPayload(mutatedMessage);
214+
// }
215+
// }
216+
217217
);
218218
}
219219
}

0 commit comments

Comments
 (0)