From c0756e9c60120a17e7ce30c1ef385430872782aa Mon Sep 17 00:00:00 2001 From: Chris Eager Date: Thu, 9 Sep 2021 18:19:23 -0700 Subject: [PATCH] Attempt an orderly websocket close on displacement before a hard disconnect --- .../textsecuregcm/websocket/WebSocketConnection.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/websocket/WebSocketConnection.java b/service/src/main/java/org/whispersystems/textsecuregcm/websocket/WebSocketConnection.java index 478442796..3a923078e 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/websocket/WebSocketConnection.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/websocket/WebSocketConnection.java @@ -363,7 +363,13 @@ public class WebSocketConnection implements MessageAvailabilityListener, Displac public void handleDisplacement() { Metrics.counter(DISPLACEMENT_COUNTER_NAME, List.of(UserAgentTagUtil.getPlatformTag(client.getUserAgent()))).increment(); - client.hardDisconnectQuietly(); + try { + client.close(1000, "OK"); + } catch (final Exception e) { + logger.warn("Orderly close failed", e); + + client.hardDisconnectQuietly(); + } } private static class StoredMessageInfo {