Prohibit pre-set message GUIDs when inserting into FoundationDB

This commit is contained in:
Jon Chambers
2026-04-01 10:30:39 -04:00
committed by Jon Chambers
parent 844e103c86
commit d2cbdd4609

View File

@@ -103,6 +103,14 @@ public class FoundationDbMessageStore {
throw new IllegalArgumentException("One or more message bundles is empty");
}
if (messagesByServiceIdentifier.values()
.stream()
.flatMap(messages -> messages.values().stream())
.anyMatch(MessageProtos.Envelope::hasServerGuid)) {
throw new IllegalArgumentException("Messages must not have pre-set server GUIDs");
}
final Map<Integer, List<Map.Entry<AciServiceIdentifier, Map<Byte, MessageProtos.Envelope>>>> messagesByShardId =
messagesByServiceIdentifier.entrySet().stream()
.collect(Collectors.groupingBy(entry -> hashAciToShardNumber(entry.getKey())));