From 14959c97b8ab0a2752b50fb4e575aceb2c88966a Mon Sep 17 00:00:00 2001 From: Paul Ferraro Date: Fri, 13 Sep 2024 11:40:07 +0100 Subject: [PATCH] JGRP-2835 Do not log warn during normal shutdown. Fix interrupt handling. --- src/org/jgroups/protocols/TransferQueueBundler.java | 12 ++++++++++-- .../jgroups/protocols/TransferQueueBundler2.java | 13 +++++++++++-- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/org/jgroups/protocols/TransferQueueBundler.java b/src/org/jgroups/protocols/TransferQueueBundler.java index d1c57bf62e4..e9b4c6e12de 100644 --- a/src/org/jgroups/protocols/TransferQueueBundler.java +++ b/src/org/jgroups/protocols/TransferQueueBundler.java @@ -88,7 +88,12 @@ public synchronized void stop() { if(tmp != null) { tmp.interrupt(); if(tmp.isAlive()) { - try {tmp.join(500);} catch(InterruptedException e) {} + try { + tmp.join(500); + } + catch(InterruptedException e) { + Thread.currentThread().interrupt(); + } } } drain(); @@ -110,7 +115,7 @@ public void send(Message msg) throws Exception { } public void run() { - while(running) { + while(!Thread.currentThread().isInterrupted()) { Message msg=null; try { if((msg=queue.take()) == null) @@ -132,6 +137,9 @@ public void run() { sendBundledMessages(); } } + catch(InterruptedException e) { + Thread.currentThread().interrupt(); + } catch(Throwable t) { log.warn("%s: failed sending message: %s", transport.addr(), t); } diff --git a/src/org/jgroups/protocols/TransferQueueBundler2.java b/src/org/jgroups/protocols/TransferQueueBundler2.java index 11a1927a159..1f5910fa9c1 100644 --- a/src/org/jgroups/protocols/TransferQueueBundler2.java +++ b/src/org/jgroups/protocols/TransferQueueBundler2.java @@ -138,7 +138,12 @@ public synchronized void stop() { if(tmp != null) { tmp.interrupt(); if(tmp.isAlive()) { - try {tmp.join(500);} catch(InterruptedException e) {} + try { + tmp.join(500); + } + catch(InterruptedException e) { + Thread.currentThread().interrupt(); + } } } drain(); @@ -154,7 +159,7 @@ public void send(Message msg) throws Exception { } public void run() { - while(running) { + while(!Thread.currentThread().isInterrupted()) { Message msg=null; try { if((msg=queue.take()) == null) @@ -179,7 +184,11 @@ public void run() { sendBundledMessages(); } } + catch(InterruptedException e) { + Thread.currentThread().interrupt(); + } catch(Throwable t) { + log.warn("%s: failed sending message: %s", transport.addr(), t); } } }