added cleaning of search event before opening the index administration

git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@4219 6c8d7289-2bf4-0310-a012-ef5d649a1542
pull/1/head
orbiter 18 years ago
parent 55da871211
commit bd5673efbe

@ -42,6 +42,7 @@ import de.anomic.index.indexRWIEntry;
import de.anomic.index.indexURLEntry; import de.anomic.index.indexURLEntry;
import de.anomic.kelondro.kelondroBitfield; import de.anomic.kelondro.kelondroBitfield;
import de.anomic.plasma.plasmaCondenser; import de.anomic.plasma.plasmaCondenser;
import de.anomic.plasma.plasmaSearchEvent;
import de.anomic.plasma.plasmaSwitchboard; import de.anomic.plasma.plasmaSwitchboard;
import de.anomic.plasma.plasmaWordIndex; import de.anomic.plasma.plasmaWordIndex;
import de.anomic.plasma.urlPattern.abstractURLPattern; import de.anomic.plasma.urlPattern.abstractURLPattern;
@ -69,6 +70,9 @@ public class IndexControlRWIs_p {
prop.put("keyhashsimilar", 0); prop.put("keyhashsimilar", 0);
prop.put("genUrlList", 0); prop.put("genUrlList", 0);
// clean up all search events
plasmaSearchEvent.cleanupEvents(true);
if (post != null) { if (post != null) {
// default values // default values
String keystring = post.get("keystring", "").trim(); String keystring = post.get("keystring", "").trim();

@ -240,7 +240,7 @@ public final class plasmaSearchEvent {
} }
// clean up events // clean up events
cleanupEvents(); cleanupEvents(false);
// store this search to a cache so it can be re-used // store this search to a cache so it can be re-used
lastEvents.put(query.id(), this); lastEvents.put(query.id(), this);
@ -299,13 +299,13 @@ public final class plasmaSearchEvent {
} }
} }
private static void cleanupEvents() { public static void cleanupEvents(boolean all) {
// remove old events in the event cache // remove old events in the event cache
Iterator i = lastEvents.entrySet().iterator(); Iterator i = lastEvents.entrySet().iterator();
plasmaSearchEvent cleanEvent; plasmaSearchEvent cleanEvent;
while (i.hasNext()) { while (i.hasNext()) {
cleanEvent = (plasmaSearchEvent) ((Map.Entry) i.next()).getValue(); cleanEvent = (plasmaSearchEvent) ((Map.Entry) i.next()).getValue();
if (cleanEvent.eventTime + eventLifetime < System.currentTimeMillis()) { if ((all) || (cleanEvent.eventTime + eventLifetime < System.currentTimeMillis())) {
// execute deletion of failed words // execute deletion of failed words
Set removeWords = cleanEvent.query.queryHashes; Set removeWords = cleanEvent.query.queryHashes;
removeWords.addAll(cleanEvent.query.excludeHashes); removeWords.addAll(cleanEvent.query.excludeHashes);

Loading…
Cancel
Save