Only attempt to unsubscribe if the queue name is not null

This commit is contained in:
Chris Eager 2022-07-26 12:17:12 -05:00 committed by Chris Eager
parent 788246a56f
commit e9fd32de79
1 changed files with 5 additions and 4 deletions

View File

@ -36,6 +36,7 @@ import java.util.Set;
import java.util.UUID; import java.util.UUID;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.annotation.Nullable;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.whispersystems.textsecuregcm.entities.MessageProtos; import org.whispersystems.textsecuregcm.entities.MessageProtos;
@ -309,12 +310,12 @@ public class MessagesCache extends RedisClusterPubSubAdapter<String, String> imp
} }
public void removeMessageAvailabilityListener(final MessageAvailabilityListener listener) { public void removeMessageAvailabilityListener(final MessageAvailabilityListener listener) {
final String queueName = queueNamesByMessageListener.remove(listener); @Nullable final String queueName = queueNamesByMessageListener.remove(listener);
unsubscribeFromKeyspaceNotifications(queueName); if (queueName != null) {
unsubscribeFromKeyspaceNotifications(queueName);
synchronized (messageListenersByQueueName) { synchronized (messageListenersByQueueName) {
if (queueName != null) {
messageListenersByQueueName.remove(queueName); messageListenersByQueueName.remove(queueName);
} }
} }