From d3b228d683bb2b74f73fa94b821e0b7e80f8a6cb Mon Sep 17 00:00:00 2001 From: Ruslan Kashapov Date: Wed, 15 Feb 2023 15:58:40 +0200 Subject: [PATCH] Fix web-socket timeout closure exceptions As noted in WebSocketSessionHandler.onWebSocketClosed(), there is no guarantee the session reports isOpen(). Performing the same check in AbstractCommonSubscriber.removeSubscriber() (via isConnected()) can therefore result in an ISE. Fix this by removing the check. JIRA: NETCONF-970 Change-Id: I6e437d9821e698e3faca121402a97b88ac486229 Signed-off-by: Ruslan Kashapov (cherry picked from commit 0d05f5be80762b833acc0b8337b68b353e4c673a) --- .../rfc8040/streams/listeners/AbstractCommonSubscriber.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/streams/listeners/AbstractCommonSubscriber.java b/restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/streams/listeners/AbstractCommonSubscriber.java index d83e15e63b..644b49688b 100644 --- a/restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/streams/listeners/AbstractCommonSubscriber.java +++ b/restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/streams/listeners/AbstractCommonSubscriber.java @@ -120,10 +120,8 @@ abstract class AbstractCommonSubscriber extends AbstractNotificationsData @Override public synchronized void removeSubscriber(final StreamSessionHandler subscriber) { - final boolean isConnected = subscriber.isConnected(); - checkState(isConnected); - LOG.debug("Subscriber {} is removed", subscriber); subscribers.remove(subscriber); + LOG.debug("Subscriber {} is removed", subscriber); if (!hasSubscribers()) { ListenersBroker.getInstance().removeAndCloseListener(this); } -- 2.36.6