From 44d26b513a46be0247f05be582034031d6908a1f Mon Sep 17 00:00:00 2001 From: kennycud Date: Tue, 8 Jul 2025 13:42:49 -0700 Subject: [PATCH] waiting and retrying clogged write channels --- .../org/qortal/network/task/ChannelWriteTask.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/qortal/network/task/ChannelWriteTask.java b/src/main/java/org/qortal/network/task/ChannelWriteTask.java index 59bc557e..6f28a942 100644 --- a/src/main/java/org/qortal/network/task/ChannelWriteTask.java +++ b/src/main/java/org/qortal/network/task/ChannelWriteTask.java @@ -31,7 +31,20 @@ public class ChannelWriteTask implements Task { @Override public void perform() throws InterruptedException { try { - boolean isSocketClogged = peer.writeChannel(); + + boolean isSocketClogged; + do { + isSocketClogged = peer.writeChannel(); + + if (isSocketClogged) { + LOGGER.info( + "socket is clogged: peer = {} {}, retrying", + peer.getPeerData().getAddress().toString(), + Thread.currentThread().getName() + ); + Thread.sleep(1000); + } + } while( isSocketClogged ); // Tell Network that we've finished Network.getInstance().notifyChannelNotWriting(socketChannel);