From bffbe43e09e614aafdb458173c85727cc1ee2c10 Mon Sep 17 00:00:00 2001 From: orbiter Date: Sun, 17 May 2009 21:15:06 +0000 Subject: [PATCH] fix for http://forum.yacy-websuche.de/viewtopic.php?p=14522#p14522 fix for http://forum.yacy-websuche.de/viewtopic.php?p=14955#p14955 git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@5959 6c8d7289-2bf4-0310-a012-ef5d649a1542 --- htroot/IndexCleaner_p.java | 2 +- source/de/anomic/plasma/plasmaSwitchboard.java | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/htroot/IndexCleaner_p.java b/htroot/IndexCleaner_p.java index 6fcf8039d..fd75a20e7 100755 --- a/htroot/IndexCleaner_p.java +++ b/htroot/IndexCleaner_p.java @@ -95,7 +95,7 @@ public class IndexCleaner_p { prop.put("rwidb_threadToString", indexCleanerThread.toString()); prop.putNum("rwidb_RWIcountstart", indexCleanerThread.rwiCountAtStart); prop.putNum("rwidb_RWIcountnow", sb.webIndex.index().size()); - prop.put("rwidb_wordHashNow", indexCleanerThread.wordHashNow); + prop.put("rwidb_wordHashNow", (indexCleanerThread.wordHashNow == null) ? "NULL" : new String(indexCleanerThread.wordHashNow)); prop.put("rwidb_lastWordHash", (indexCleanerThread.lastWordHash == null) ? "null" : new String(indexCleanerThread.lastWordHash)); prop.putNum("rwidb_lastDeletionCounter", indexCleanerThread.lastDeletionCounter); diff --git a/source/de/anomic/plasma/plasmaSwitchboard.java b/source/de/anomic/plasma/plasmaSwitchboard.java index c3dc1920d..0755d15b7 100644 --- a/source/de/anomic/plasma/plasmaSwitchboard.java +++ b/source/de/anomic/plasma/plasmaSwitchboard.java @@ -2009,9 +2009,19 @@ public final class plasmaSwitchboard extends serverAbstractSwitch 0) { + startHash = PeerSelection.selectTransferStart(); + assert startHash != null; + limitHash = PeerSelection.limitOver(this.webIndex.peers(), startHash); + if (limitHash != null) break; + } + if (limitHash == null || startHash == null) { + log.logInfo("dhtTransferJob: approaching full DHT dispersion."); + return false; + } log.logInfo("dhtTransferJob: selected " + new String(startHash) + " as start hash"); - byte[] limitHash = PeerSelection.limitOver(this.webIndex.peers(), startHash); log.logInfo("dhtTransferJob: selected " + new String(limitHash) + " as limit hash"); try { boolean enqueued = this.dhtDispatcher.selectContainersEnqueueToCloud(