Skip to content

Commit 689c9b7

Browse files
committed
Handle typical topic formatting
1 parent ae09a43 commit 689c9b7

File tree

2 files changed

+25
-12
lines changed

2 files changed

+25
-12
lines changed

Diff for: ethereum/statetransition/src/main/java/tech/pegasys/teku/statetransition/util/DebugDataDumper.java

+5-2
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,9 @@ public void saveGossipMessageDecodingError(
6767
final String formattedTimestamp = formatOptionalTimestamp(arrivalTimestamp);
6868
final String fileName = String.format("%s.ssz", formattedTimestamp);
6969
final Path topicPath =
70-
Path.of(GOSSIP_MESSAGES_DIR).resolve(DECODING_ERROR_SUB_DIR).resolve(topic);
70+
Path.of(GOSSIP_MESSAGES_DIR)
71+
.resolve(DECODING_ERROR_SUB_DIR)
72+
.resolve(topic.replaceAll("/", "_"));
7173
final String identifiers = String.format("on topic %s at %s", topic, formattedTimestamp);
7274
saveBytesToFile(
7375
"gossip message with decoding error",
@@ -83,7 +85,8 @@ public void saveGossipRejectedMessageToFile(
8385
}
8486
final String formattedTimestamp = formatOptionalTimestamp(arrivalTimestamp);
8587
final String fileName = String.format("%s.ssz", formattedTimestamp);
86-
final Path topicPath = Path.of(GOSSIP_MESSAGES_DIR).resolve(REJECTED_SUB_DIR).resolve(topic);
88+
final Path topicPath =
89+
Path.of(GOSSIP_MESSAGES_DIR).resolve(REJECTED_SUB_DIR).resolve(topic.replaceAll("/", "_"));
8790
final String identifiers = String.format("on topic %s at %s", topic, formattedTimestamp);
8891
saveBytesToFile(
8992
"rejected gossip message", identifiers, topicPath.resolve(fileName), decodedMessage);

Diff for: ethereum/statetransition/src/test/java/tech/pegasys/teku/statetransition/util/DebugDataDumperTest.java

+20-10
Original file line numberDiff line numberDiff line change
@@ -47,16 +47,15 @@ void saveGossipMessageDecodingError_shouldSaveToFile(@TempDir Path tempDir) {
4747
final DebugDataDumper manager = new DebugDataDumper(tempDir, true);
4848
final Bytes messageBytes = dataStructureUtil.stateBuilderPhase0().build().sszSerialize();
4949
final Optional<UInt64> arrivalTimestamp = Optional.of(timeProvider.getTimeInMillis());
50-
final String topic = "test_topic";
51-
manager.saveGossipMessageDecodingError("test_topic", arrivalTimestamp, messageBytes);
50+
manager.saveGossipMessageDecodingError("/eth/test/topic", arrivalTimestamp, messageBytes);
5251

5352
final String fileName =
5453
String.format("%s.ssz", manager.formatTimestamp(timeProvider.getTimeInMillis()));
5554
final Path expectedFile =
5655
tempDir
5756
.resolve("gossip_messages")
5857
.resolve("decoding_error")
59-
.resolve(topic)
58+
.resolve("_eth_test_topic")
6059
.resolve(fileName);
6160
checkBytesSavedToFile(expectedFile, messageBytes);
6261
}
@@ -66,13 +65,17 @@ void saveGossipMessageDecodingError_shouldNotSaveToFileWhenDisabled(@TempDir Pat
6665
final DebugDataDumper manager = new DebugDataDumper(tempDir, false);
6766
final Bytes messageBytes = dataStructureUtil.stateBuilderPhase0().build().sszSerialize();
6867
final Optional<UInt64> arrivalTimestamp = Optional.of(timeProvider.getTimeInMillis());
69-
manager.saveGossipMessageDecodingError("test_topic", arrivalTimestamp, messageBytes);
68+
manager.saveGossipMessageDecodingError("/eth/test/topic", arrivalTimestamp, messageBytes);
7069
assertThat(manager.isEnabled()).isFalse();
7170

7271
final String fileName =
7372
String.format("%s.ssz", manager.formatTimestamp(timeProvider.getTimeInMillis()));
7473
final Path expectedFile =
75-
tempDir.resolve("gossip_messages").resolve("decoding_error").resolve(fileName);
74+
tempDir
75+
.resolve("gossip_messages")
76+
.resolve("decoding_error")
77+
.resolve("_eth_test_topic")
78+
.resolve(fileName);
7679
checkFileNotExist(expectedFile);
7780
}
7881

@@ -81,13 +84,16 @@ void saveGossipRejectedMessageToFile_shouldSaveToFile(@TempDir Path tempDir) {
8184
final DebugDataDumper manager = new DebugDataDumper(tempDir, true);
8285
final Bytes messageBytes = dataStructureUtil.stateBuilderPhase0().build().sszSerialize();
8386
final Optional<UInt64> arrivalTimestamp = Optional.of(timeProvider.getTimeInMillis());
84-
final String topic = "test_topic";
85-
manager.saveGossipRejectedMessageToFile("test_topic", arrivalTimestamp, messageBytes);
87+
manager.saveGossipRejectedMessageToFile("/eth/test/topic", arrivalTimestamp, messageBytes);
8688

8789
final String fileName =
8890
String.format("%s.ssz", manager.formatTimestamp(timeProvider.getTimeInMillis()));
8991
final Path expectedFile =
90-
tempDir.resolve("gossip_messages").resolve("rejected").resolve(topic).resolve(fileName);
92+
tempDir
93+
.resolve("gossip_messages")
94+
.resolve("rejected")
95+
.resolve("_eth_test_topic")
96+
.resolve(fileName);
9197
checkBytesSavedToFile(expectedFile, messageBytes);
9298
}
9399

@@ -96,12 +102,16 @@ void saveGossipRejectedMessageToFile_shouldNotSaveToFileWhenDisabled(@TempDir Pa
96102
final DebugDataDumper manager = new DebugDataDumper(tempDir, false);
97103
final Bytes messageBytes = dataStructureUtil.stateBuilderPhase0().build().sszSerialize();
98104
final Optional<UInt64> arrivalTimestamp = Optional.of(timeProvider.getTimeInMillis());
99-
manager.saveGossipRejectedMessageToFile("test_topic", arrivalTimestamp, messageBytes);
105+
manager.saveGossipRejectedMessageToFile("/eth/test/topic", arrivalTimestamp, messageBytes);
100106
assertThat(manager.isEnabled()).isFalse();
101107

102108
final String fileName = String.format("%s.ssz", arrivalTimestamp);
103109
final Path expectedFile =
104-
tempDir.resolve("gossip_messages").resolve("rejected").resolve(fileName);
110+
tempDir
111+
.resolve("gossip_messages")
112+
.resolve("rejected")
113+
.resolve("_eth_test_topic")
114+
.resolve(fileName);
105115
checkFileNotExist(expectedFile);
106116
}
107117

0 commit comments

Comments
 (0)