From 4e21f765947694f16a80a7653c38dd4249f6cecf Mon Sep 17 00:00:00 2001 From: John Fallows Date: Mon, 20 May 2024 17:03:26 -0700 Subject: [PATCH] Ensure new mqtt subscriptions are not empty --- .../binding/mqtt/internal/stream/MqttServerFactory.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/runtime/binding-mqtt/src/main/java/io/aklivity/zilla/runtime/binding/mqtt/internal/stream/MqttServerFactory.java b/runtime/binding-mqtt/src/main/java/io/aklivity/zilla/runtime/binding/mqtt/internal/stream/MqttServerFactory.java index c2fe91c9a2..04e48899e3 100644 --- a/runtime/binding-mqtt/src/main/java/io/aklivity/zilla/runtime/binding/mqtt/internal/stream/MqttServerFactory.java +++ b/runtime/binding-mqtt/src/main/java/io/aklivity/zilla/runtime/binding/mqtt/internal/stream/MqttServerFactory.java @@ -5369,7 +5369,8 @@ private void onSessionData( List newSubscriptions = newState.stream() .filter(s -> !currentSubscriptions.contains(s)) .collect(Collectors.toList()); - if (subscribePacketIds.containsKey(newSubscriptions.get(0).id)) + if (!newSubscriptions.isEmpty() && + subscribePacketIds.containsKey(newSubscriptions.get(0).id)) { int packetId = subscribePacketIds.get(newSubscriptions.get(0).id); newSubscriptions.forEach(sub -> subscribePacketIds.remove(sub.id));