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.concurrent.ExecutorService;
import java.util.stream.Collectors;
import javax.annotation.Nullable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.whispersystems.textsecuregcm.entities.MessageProtos;
@ -309,12 +310,12 @@ public class MessagesCache extends RedisClusterPubSubAdapter<String, String> imp
}
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) {
if (queueName != null) {
synchronized (messageListenersByQueueName) {
messageListenersByQueueName.remove(queueName);
}
}