diff --git a/source/de/anomic/search/SearchEvent.java b/source/de/anomic/search/SearchEvent.java index a869bb272..33f7c92bc 100644 --- a/source/de/anomic/search/SearchEvent.java +++ b/source/de/anomic/search/SearchEvent.java @@ -393,16 +393,18 @@ public final class SearchEvent { if (oldAbstract == null) { // new abstracts in the cache abstractsCache.put(wordhash, singleAbstract); - } else synchronized (oldAbstract) { + } else { // extend the abstracts in the cache: join the single abstracts for (final Map.Entry oneref: singleAbstract.entrySet()) { final String urlhash = oneref.getKey(); final String peerlistNew = oneref.getValue(); - final String peerlistOld = oldAbstract.get(urlhash); - if (peerlistOld == null) { - oldAbstract.put(urlhash, peerlistNew); - } else { - oldAbstract.put(urlhash, peerlistOld + peerlistNew); + synchronized (oldAbstract) { + final String peerlistOld = oldAbstract.get(urlhash); + if (peerlistOld == null) { + oldAbstract.put(urlhash, peerlistNew); + } else { + oldAbstract.put(urlhash, peerlistOld + peerlistNew); + } } } // abstractsCache.put(wordhash, oldAbstract); diff --git a/source/de/anomic/yacy/yacySeed.java b/source/de/anomic/yacy/yacySeed.java index a4148554c..2e3c1fee7 100644 --- a/source/de/anomic/yacy/yacySeed.java +++ b/source/de/anomic/yacy/yacySeed.java @@ -443,12 +443,16 @@ public class yacySeed implements Cloneable, Comparable, Comparator 60) ip = "localhost"; final String port = this.dna.get(yacySeed.PORT); - if ((port == null) || (port.length() < 2)) return null; + if (port == null || port.length() < 2 || port.length() > 5) return null; - return ip + ":" + port; + StringBuilder sb = new StringBuilder(ip.length() + port.length() + 1); + sb.append(ip); + sb.append(':'); + sb.append(port); + return sb.toString(); } /**