From d7b17d8935b7a6671c2b8b976a032e8950b4020a Mon Sep 17 00:00:00 2001 From: Michael Peter Christen Date: Wed, 22 Dec 2021 01:46:18 +0100 Subject: [PATCH] fixed missing thread name revert after balancer waiting --- source/net/yacy/crawler/HostQueue.java | 2 ++ source/net/yacy/crawler/LegacyBalancer.java | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/source/net/yacy/crawler/HostQueue.java b/source/net/yacy/crawler/HostQueue.java index 4594f2a4f..70d310891 100644 --- a/source/net/yacy/crawler/HostQueue.java +++ b/source/net/yacy/crawler/HostQueue.java @@ -504,12 +504,14 @@ public class HostQueue implements Balancer { rest = rest + 1000 * loops; loops = 0; } + final String tname = Thread.currentThread().getName(); Thread.currentThread().setName("Balancer waiting for " + crawlEntry.url().getHost() + ": " + sleeptime + " milliseconds"); if (rest > 0) {try {Thread.sleep(rest);} catch (final InterruptedException e) {}} for (int i = 0; i < loops; i++) { if (log.isInfo()) log.info("waiting for " + crawlEntry.url().getHost() + ": " + (loops - i) + " seconds remaining..."); try {Thread.sleep(1000); } catch (final InterruptedException e) {} } + Thread.currentThread().setName(tname); // restore the name so we do not see this in the thread dump as a waiting thread Latency.updateAfterSelection(crawlEntry.url(), robotsTime); } return crawlEntry; diff --git a/source/net/yacy/crawler/LegacyBalancer.java b/source/net/yacy/crawler/LegacyBalancer.java index c3a91e956..51394b55d 100644 --- a/source/net/yacy/crawler/LegacyBalancer.java +++ b/source/net/yacy/crawler/LegacyBalancer.java @@ -426,7 +426,8 @@ public class LegacyBalancer implements Balancer { rest = rest + 1000 * loops; loops = 0; } - Thread.currentThread().setName("Balancer waiting for " +crawlEntry.url().getHost() + ": " + sleeptime + " milliseconds"); + final String tname = Thread.currentThread().getName(); + Thread.currentThread().setName("Balancer waiting for " + crawlEntry.url().getHost() + ": " + sleeptime + " milliseconds"); synchronized(this) { // must be synchronized here to avoid 'takeover' moves from other threads which then idle the same time which would not be enough if (rest > 0) {try {Thread.sleep(rest);} catch (final InterruptedException e) {}} @@ -435,6 +436,7 @@ public class LegacyBalancer implements Balancer { try {Thread.sleep(1000); } catch (final InterruptedException e) {} } } + Thread.currentThread().setName(tname); // restore the name so we do not see this in the thread dump as a waiting thread Latency.updateAfterSelection(crawlEntry.url(), robotsTime); } return crawlEntry;