Crawler-Queue überarbeiten

Ideen und Vorschläge sind willkommen.

Crawler-Queue überarbeiten

Beitragvon PCA42 » Mi Mai 06, 2009 10:46 am

Der Crawler wird durch zu beachtende Pausen, die für jede Domain individuell sind, gebremst. Um effektiv URLs zu ermitteln, auf die der Crawler zugreifen kann, sollte die Queue umorganisiert werden. Die URLs sollten dort sortiert nach der Domain abgelegt werden. Zusätzlich wird für jede Domain der Zeitpunkt des nächsten erlaubten Zugriffs gespeichert. Nun können, wenn der Loader eine neue URL verlangt, reihum die Domain abgegangen werden. Ist dort ein Zugriff erlaubt, wird eine URL nach dem Fifo-Prinzip entnommen. So sollte sich die Auslastung des Crawlers verbessern lassen, selbst dann, wenn nur wenige unterschiedliche Domains zum Crawlen anstehen.
Zuletzt geändert von PCA42 am Di Mai 12, 2009 8:57 pm, insgesamt 1-mal geändert.
PCA42
 
Beiträge: 621
Registriert: Mi Jan 23, 2008 4:19 pm
Wohnort: @Home

Re: Crawler-Queue nach Domains organisieren

Beitragvon Orbiter » Mi Mai 06, 2009 10:58 am

ist alles im Prinzip schon so! Es gibt eine große Queue in einem File, das die Queue beim shutdown speichert. Daraus, und bei einem Crawl aus neuen URLs, wird eine Menge von domain-Bezogenen Queues gefüllt. Diese werden immer round-robin ausgelesen und in den Loader gefeeded. Tatsächlich wird hier immer eine solche Domain genommen, die am längsten nicht mehr dran war. Aber irgendwann sind entweder zu wenig domänen in der Liste, oder die Liste ist zu kurz, dann wird aus der File-Queue 'nachgeladen'. Sind dann immer noch zu wenig da, gibts erzwungene Pausen. Das ist es was du aktuell siehst, wenns nicht schnell genug weiter geht.
Orbiter
 
Beiträge: 5798
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Crawler-Queue nach Domains organisieren

Beitragvon PCA42 » Mi Mai 06, 2009 11:13 am

Wie groß ist da der Speicherpuffer? Warum ich so Frage: ich bekomme den Root-Server (Dual-Core-Athlon mit 4 GB RAM für Yacy) einfach nicht voll ausgelastet. Ist ein Luxus-Problem. Aber eigentlich sollte doch Yacy in der Lage sein, die Kiste voll auszulasten. Und "nur" 10 MB die Minute im Crawler bei einer großen Bandbreite an URLs erscheint mir recht wenig. Die CPU-Last liegt teilweise sehr niedrig.

Irgendwo muss es doch klemmen :!:
PCA42
 
Beiträge: 621
Registriert: Mi Jan 23, 2008 4:19 pm
Wohnort: @Home

Re: Crawler-Queue nach Domains organisieren

Beitragvon Orbiter » Mi Mai 06, 2009 11:31 am

aha, endlich verbrät YaCy _zuwenig_ Resourcen, das darf natürlich nicht sein!
Der Crawler beschränkt die Anzahl der Host-Stacks auf 100. Wenn die alle voll wären, gäbe es erst automatische Crawl-Delay Beschränkungen wenn die 100 Stacks einmal in 500 Millisekunden eine URL abgegeben hätten. Das wären also 200 URLs/Sekunde, macht dann 12000 PPM. An der Rechnung sieht man ganz gut dass die Beschränkung auf 100 Stacks für genügend Performance ausreicht. Also sind deine Stacks nicht richtig ausgelastet, du hast zu wenig Domänen in der Queue. Du sagst aber das könnte nicht sein. Dann wäre das Problem so, dass die vielen anderen Domänen sich in dem File-Stack befinden, wo sie noch nicht zum einpflegen in die Stacks herangezogen wurden. Man müsste also die ganze Crawl-Queue einmal durchdudeln, um die Stack-Queues anständig zu füllen. Ich weiss nicht wie lange sowas dauert, aber wäre vielleicht mal einen Versuch wert.
Orbiter
 
Beiträge: 5798
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Crawler-Queue nach Domains organisieren

Beitragvon PCA42 » Mi Mai 06, 2009 11:39 am

Orbiter hat geschrieben:aha, endlich verbrät YaCy _zuwenig_ Resourcen, das darf natürlich nicht sein!

Nicht auf einem Root-Server. Der muss für sein Geld einfach glühen ;)

Spass beiseite. Kann man die URLs nicht einfach ähnlich den RWIs handhaben: beim Einfüllen aus dem Stacker in die Queue bereits nach Domain sortieren. Wenn Queue ein Domain-Limit (z.B. 100 Domais) erreicht, werd die geschrieben. Kann man da vielleicht die Blob-Logik der RWI recyclen?
PCA42
 
Beiträge: 621
Registriert: Mi Jan 23, 2008 4:19 pm
Wohnort: @Home

Re: Crawler-Queue nach Domains organisieren

Beitragvon dulcedo » Mi Mai 06, 2009 11:55 am

Ich lasse einfach 2 Instanzen laufen, optimal auf 2 Platten, das geht auch mit 4GB, optimal natürlich mit 8GB. Dann habe ich auf einem Quad eine durchschnittliche Prozessorlast von 50-60%. Wie es auf einem Rootserver mit Festplatten-IO aussieht weiss ich nicht, da fehlen mir die (ssh)tools.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Crawler-Queue nach Domains organisieren

Beitragvon Orbiter » Mi Mai 06, 2009 12:05 pm

PCA42: ich glaube ich versuche das mal umzubauen, indem ich eine file-basierte Queue entferne und alles ins RAM schreibe. Ich glaube die Logik im Balancer stammt noch von der Zeit, als man File Indexe nicht performant aufzählen konnte, jetzt ist die aber komplett im RAM und man könnte das auch komplett im RAM vororganisieren. Ich kann sowas aber aktuell hier wo ich bin nicht testen, weil ich hier nicht crawlen kann; mal gucken ob ich da heute Abend was zu machen kann.
Orbiter
 
Beiträge: 5798
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Crawler-Queue nach Domains organisieren

Beitragvon PCA42 » Mi Mai 06, 2009 12:17 pm

@dulcedo: Festplatten-Io kann man inzwischen bei Yacy vernachlässigen. Der WA-Wert schwankt bei mir zwischen 0-2%. Mit dem alten Index-Modell waren das teilweise bis zu 30%. Ich möchte nur eine Instanz haben, da ich das als effizenten erachte. Mit der Zeit doppeln sich z.B. die URLs auf beiden Peers. Deshalb lieben ein leistungsfähiger Peer, der am Maximum läuft.

@Orbiter: Du hast bereits angedeutet, das vielleicht bald eine neue Release ins Haus steht. Das wäre dann eine Sache, die ich erst danach in Angriff nehmen würde. Denn der Crawler funktioniert ja bereits besser als jemals zuvor. Und das (aus meiner Sicht) fehlerfrei. Nach einem Release kann man auch mehr dran rumfeilen, um das Optimum herauszuholen.
PCA42
 
Beiträge: 621
Registriert: Mi Jan 23, 2008 4:19 pm
Wohnort: @Home

Re: Crawler-Queue nach Domains organisieren

Beitragvon PCA42 » Mi Mai 06, 2009 2:53 pm

Mir ist mit den Crawler-Queue noch ein Problem aufgefallen: wenn in der lokalen nichts mehr drin ist, werde URLs aus der globalen Queue entnommen. Dabei werden immer 30 URLs (Fifo?) entnommen. Das schränkt auch die Varianz der Domians ggf. sehr stark ein.
PCA42
 
Beiträge: 621
Registriert: Mi Jan 23, 2008 4:19 pm
Wohnort: @Home

Re: Crawler-Queue nach Domains organisieren

Beitragvon Phiber » Mi Mai 06, 2009 3:03 pm

Also dass man die URL's etwas durchmischt wäre sicher eine super Sache. Der Normalfall sieht doch so aus:

-Man trägt mal 1-2 Crawl-Projekte ein und hat dann sagen wir 50k von domaina.com und 50k von domainb.com. Oder gar nur von einer Domain.
-Man hat durch die Ungleichmässigkeit/Crawl-Delays von einer oder sehr wenigen Domains einfach noch das meiste über, auch in grosser Menge das können ja wie gesagt Problemlos 10k+ sein.

Nun hat man also eine riesige Menge von 1-2 Domains übrig und man möchte seine PPM wieder hochpushen und trägt wieder einige neue Crawls ein zur Steigerung der Diversität/Entropie.

-Werden diese neuen Domains nun direkt in den Crawl gemischt, oder eben nicht?
Phiber
 
Beiträge: 96
Registriert: So Okt 05, 2008 9:04 pm

Re: Crawler-Queue nach Domains organisieren

Beitragvon Orbiter » Mi Mai 06, 2009 3:05 pm

so sollte es sein aber so läuft es nicht. Ich überdenke das, aber vielleicht ist das wirklich besser im nächsten Releaseschritt.
Orbiter
 
Beiträge: 5798
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Crawler-Queue nach Domains organisieren

Beitragvon dulcedo » Do Mai 07, 2009 2:48 am

PCA42 hat geschrieben:Mir ist mit den Crawler-Queue noch ein Problem aufgefallen: wenn in der lokalen nichts mehr drin ist, werde URLs aus der globalen Queue entnommen. Dabei werden immer 30 URLs (Fifo?) entnommen. Das schränkt auch die Varianz der Domians ggf. sehr stark ein.

Nicht nur die Varianz sondern anscheinend auch die Performance, er läd immer häppchenweise und muss dadurch den flüssigen indexier-Ablauf unterbrechen. Da ist mit Sicherheit noch Optimierungspotential, bei lokalen Tests (alleine crawlen) natürlich nicht auffällig.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Crawler-Queue nach Domains organisieren

Beitragvon PCA42 » Fr Mai 08, 2009 7:54 am

Ich werd mal noch einen Gedanken ergänzen, damit er nicht untergeht. Es sollten zunächst die Domains abgearbeitet werden, die am häufigsten vorhanden sind. Dadurch wird sichergestellt, dass diese häufige Domain über die gesamte Laufzeit des Crawls verteilt abgearbeitet wird und nicht im Stück zum Schluss - und damit mit Begrenzung.
PCA42
 
Beiträge: 621
Registriert: Mi Jan 23, 2008 4:19 pm
Wohnort: @Home

Re: Crawler-Queue überarbeiten

Beitragvon PCA42 » Di Mai 12, 2009 8:59 pm

Wunsch von thq:
Die Queue sollen nicht mit URLs "überladen" werden, es soll nur eine überschaubare Anzahl (Bsp. 1000) vorhanden sein, dann soll erst wieder URLs hinzugefügt werden.
PCA42
 
Beiträge: 621
Registriert: Mi Jan 23, 2008 4:19 pm
Wohnort: @Home

Re: Crawler-Queue überarbeiten

Beitragvon Orbiter » Di Mai 12, 2009 9:35 pm

Ich weiss das wir hier eine Baustelle haben, und ihr wisst das dazu momentan keine Zeit ist. Ich weiss das es gut ist hier Ideen zu sammeln, und die sind auch alle sinnvoll. Aber wir könnten nochmal überlegen ob das hier ein Projekt zum Mitmachen ist oder eine Orbiter-Wunschbox. Also einfach mal gucken ob ihr spass am Programmieren findet! Wie ich in thq's Thread schon geschrieben habe: die Surrogate bilden nun eine schöne Schnittstelle für die Übergabe von Crawl-Ergebnissen. ich mache mich so bald es geht an die Überarbeitung des Crawlers, aber das wird eine Zeit lang dauern bis dazu Luft ist. Wers nicht abwarten kann, kann ja mal was probieren, ist gefahrlos weil ihr euch ja eine ganz neue Baustelle mit definierten Schnittstelle bauen könnt.
Orbiter
 
Beiträge: 5798
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Crawler-Queue überarbeiten

Beitragvon PCA42 » Mi Mai 13, 2009 4:40 am

Orbiter hat geschrieben:Aber wir könnten nochmal überlegen ob das hier ein Projekt zum Mitmachen ist oder eine Orbiter-Wunschbox.

Für mich ist das bisher immer eine Orbiter-Wunschbox. ;) Ich muss mich echt mal mit Java auseinandersetzen. Dafür ist aber im Augenblick die falsche Jahreszeit. Aber das "Java-Tutorial" steht als Buch schon neben dem PC. Die ersten Stücken sind auch schon gelesen.
PCA42
 
Beiträge: 621
Registriert: Mi Jan 23, 2008 4:19 pm
Wohnort: @Home

Re: Crawler-Queue überarbeiten

Beitragvon itgrl » Mi Mai 13, 2009 7:08 am

Ein Radio könnte man draus machen, aber ernsthaft:
Wäre für mich auch ein Anlass nicht nur mit JS rumzuspielen, hieran könnte ich mich versuchen, zu
zu den ioff-admins habe ich Kontakt.
Ein "echter" Crawler ist mir zu viel Mathematik, gebe ich offen zu.

Das mit den Surrogaten klingt praktisch, @dulcedo: geht das bei unseren Peers problemlos, das Einlesen. Oder einen zum rumspielen aufsetzen?
itgrl
 
Beiträge: 58
Registriert: Do Feb 05, 2009 7:20 am

Re: Crawler-Queue überarbeiten

Beitragvon dulcedo » Mi Mai 13, 2009 11:37 am

Ich weiss noch nicht mal wie das geht, aber spricht nichts dagegen es einfach zu versuchen oder einen kleinen Peer einzurichten, da reicht schon ein Rechner mit 1-2GB.
Bitte vorher Bescheid geben welcher oder ich zeige dir wie du lokales Backup machst.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Crawler-Queue überarbeiten

Beitragvon Orbiter » Sa Mai 23, 2009 12:07 pm

ich hatte gerade beim Ausprobieren meiner neuen Sonnenliege im Garten eine super Idee, die dann auch andere Probleme wie das Crawlen 'unerwünschter Seiten, bevor man weiss das es eine unerwünschte Seite ist' angeht: völlige Transparenz des Balancers mit interaktivem Online-Interface. Das ganze soll so aussehen:
- ein Servlet zeigt die aktuelle Liste aller hosts, die im Balancer registriert sind mit Zusatzinformationen: referrer, Anzahl der Links für diese Domain, Zeit seit letztem Zugriff, forcierte Crawl-Delay durch robots.txt etc.
- per default werden Einträge in dieser Liste _nicht_ geladen, jeder Eintrag muss im Interface erst explizit durch Anklicken eines Freigabeknopfes zum Crawlen freigegeben werden
- Man kann statt einer Freigabe auch ein ad-hoc Blacklist-Eintrag machen, dann erscheint entsprechende Domain nie wieder
- man kann Freigaben mit Hilfe von Wildcards machen
- man kann Freigaben über eine Whitelist machen
- man sieht, wie der Balancer sich Elemente der Liste greift, und in den Loader schiebt

Hört sich erst mal nach viel Arbeit an, einen Crawl überhaupt ans laufen bringen zu können, aber der bisherige Zustand liesse sich durch einen einzigen Knopf 'grant all' wieder herstellen.

Man kann dann auch sehen, wo eine Domäne ist, die durch restriktive robots.txt crawl-delay den Crawl ausbremst.

Weiterhin wäre es möglich, die Option für das Einschränken auf single-host crawls aus dem Crawl Start raus zu nehmen, und in den interaktiven Balancer mit rein zu nehmen: per default startet ja ein auf eine Domäne eingeschränkter Crawl, und wenn man weitere Domänen frei gibt, dann entwickelt sich der deep-crawl in einen shallow-crawl hinein.
Orbiter
 
Beiträge: 5798
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Crawler-Queue überarbeiten

Beitragvon PCA42 » Sa Mai 23, 2009 12:11 pm

Hört sich richtig gut an. Das ist auch was für den Technik-Freak um Yacy interessant zu machen - man kann mit einem Crawl "spielen" und ihn optimieren.

Geh jetzt aber mal wieder zu deiner Sonnenliege, kommen vielleicht noch ein paar Ideen bei rum ;)
PCA42
 
Beiträge: 621
Registriert: Mi Jan 23, 2008 4:19 pm
Wohnort: @Home

Re: Crawler-Queue überarbeiten

Beitragvon itgrl » Sa Mai 23, 2009 9:24 pm

Foren Admins könnte man YaCy schmackhaft machen indem man ihnen eine zackige und den eigentlichen Server schonende Suche baut. Als Nebenprodukt nehmen wir Surrogate mit oder binden sie in ein offenes Netz ein. Ich kenne einen Admin der ständig wegen überlasteter Suche bastelt und trotzdem oft abschalten muss.
Wieviele suchende Benutzer verkraftet denn eine virtuelle Maschine die man auf einem Server in so einem Foren-Verbund laufen lassen könnte? Und inwieweit ist das clusterbar, sodass man auf einzelnen Servern kleine YaCys laufen lassen kann.
Das wäre wirklich ein Leckerli für grosse vBulletin-Foren speziell, die kämpfen oft. Gross wäre z.B. ioff oder gulli, im deutschsprachigen Raum, bei ioff teilen sich glaube 10 Server die Arbeit, da müsste YaCy sich doch wohlfühlen?.
itgrl
 
Beiträge: 58
Registriert: Do Feb 05, 2009 7:20 am

Re: Crawler-Queue überarbeiten

Beitragvon Orbiter » So Mai 24, 2009 2:06 am

bei ioff finde ich gar keine Suche, bin ich blind? haben die keine?
Orbiter
 
Beiträge: 5798
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Crawler-Queue überarbeiten

Beitragvon Nathan » So Mai 24, 2009 7:32 am

Du hast ganz links eine Sidebar "IOFF MENUE", mit der Maus drüber und es slidet über die Seite, dort findest du die Suche. Die geht aber nur für reg. Nutzer.
Nathan
 
Beiträge: 38
Registriert: Mi Jun 27, 2007 6:26 pm

Re: Crawler-Queue überarbeiten

Beitragvon Orbiter » Sa Jun 06, 2009 2:58 am

hab den Balancer nun mal überarbeitet. Da sind jetzt nicht alle Ideen drin, die hier genannt wurden, aber sollte viel besser funktionieren
SVN 6025
Orbiter
 
Beiträge: 5798
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Crawler-Queue überarbeiten

Beitragvon PCA42 » Sa Jun 06, 2009 5:23 am

Sieht gut aus. Die Durchmischung der zu crawlenden Seiten ist sehr gut. Im Augenblick schafft er über 20 MB pro Minute. Bin mal gespannt was im Dauerlauf rauskommt.
Dateianhänge
crawl.jpg
crawl.jpg (65.9 KiB) 6578-mal betrachtet
PCA42
 
Beiträge: 621
Registriert: Mi Jan 23, 2008 4:19 pm
Wohnort: @Home

Re: Crawler-Queue überarbeiten

Beitragvon Orbiter » Sa Jun 06, 2009 9:49 am

da war noch ein bug im Balancer: einer sorgte dafür, das nicht schlau genug selektiert wurde, und ein anderer war ein Sicherheitsrisiko für den minimum Crawl-Delay. Beide Fälle heben sich im Bezug zur Crawlgeschwindigkeit in etwa auf. SVN 6027
Orbiter
 
Beiträge: 5798
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Crawler-Queue überarbeiten

Beitragvon Phiber » Sa Jun 06, 2009 10:47 am

Hui das Ding geht ja voll ab. Von den oft 100-150 ppm durch den minimaldelay von 0.5s (was ja dann 120ppm sind) auf nun 200-500 ppm, mit den richtigen Einstellungen und noch mehr URL's vielleicht noch mehr, mal schauen.
Phiber
 
Beiträge: 96
Registriert: So Okt 05, 2008 9:04 pm

Re: Crawler-Queue überarbeiten

Beitragvon Orbiter » Sa Jun 06, 2009 12:11 pm

mit einem sehr breiten crawl, wenn du viele outlinks hast kommst du sehr schnell auf ganz hohe Zahlen, die nur noch durch deine Netzbandbreite beschränkt ist. Jedenfalls müsste das das Ziel sein.
PerformanceGraph.png
PerformanceGraph.png (12.86 KiB) 6533-mal betrachtet

Die Ausfälle darin können sich nur auf forcierte Crawl-Delays zurückführen lassen, und ich werde versuchen diese auch noch zu reduzieren. Die Idee ist, statt eine Crawl-Delay zu machen die URLs in eine extra Warteschlange zu schicken und zur korrekten Zeit dann raus zu nehmen.
Orbiter
 
Beiträge: 5798
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Crawler-Queue überarbeiten

Beitragvon Lotus » Sa Jun 06, 2009 4:49 pm

Orbiter hat geschrieben:mit einem sehr breiten crawl, wenn du viele outlinks hast kommst du sehr schnell auf ganz hohe Zahlen, die nur noch durch deine Netzbandbreite beschränkt ist. Jedenfalls müsste das das Ziel sein.

Und dann brauchen wir ein Management um Timeouts zu verhindern. :)
Lotus
 
Beiträge: 1699
Registriert: Mi Jun 27, 2007 3:33 pm
Wohnort: Hamburg

Re: Crawler-Queue überarbeiten

Beitragvon Orbiter » Sa Jun 06, 2009 5:24 pm

ich habs jetzt geschafft die forcierten crawl-delays fast komplett zu verhindern, indem in so einem Fall einfach die URL geparkt wird, und zum richtigen Zeitpunkt wieder rausgezogen wird. SVN 6029
Ich empfehle aber jetzt, den busy-loop delay für den Crawler von 0 auf 30 millisekunden hoch zu stellen, sonst bekommt euer Modem im Sekundentakt immer so 50-request bursts, mit dem Delay verteilt sich das besser und man kann damit trotzdem 2000 PPM machen. Juckt im übrigen meinen neuen 16-core (hyperthreading) Mac überhaupt nicht, die Prozessoranzeige geht noch nicht mal mehr als 10% hoch (bei jedem der 16). Ich bin jetzt mal gespannt wie das im Sciencenet läuft, Urban meint ja immer er wäre erst zufrieden wenn ihn das Rechenzentrum anruft wegen traffic.
Orbiter
 
Beiträge: 5798
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Crawler-Queue überarbeiten

Beitragvon Phiber » Sa Jun 06, 2009 9:20 pm

Lotus hat geschrieben:
Orbiter hat geschrieben:mit einem sehr breiten crawl, wenn du viele outlinks hast kommst du sehr schnell auf ganz hohe Zahlen, die nur noch durch deine Netzbandbreite beschränkt ist. Jedenfalls müsste das das Ziel sein.

Und dann brauchen wir ein Management um Timeouts zu verhindern. :)


Eine Traffic-Limite wäre aber ernsthaft dann wohl angebracht. Speziell für den User, der YaCy nebenbei betreibt und nicht einen extra Server oder gar eben eine eigene Leitung dafür hat.

Will ja noch WoW zocken und rumsurfen nebenbei ;)
Phiber
 
Beiträge: 96
Registriert: So Okt 05, 2008 9:04 pm

Re: Crawler-Queue überarbeiten

Beitragvon PCA42 » So Jun 07, 2009 8:35 pm

Orbiter hat geschrieben:Ich bin jetzt mal gespannt wie das im Sciencenet läuft, Urban meint ja immer er wäre erst zufrieden wenn ihn das Rechenzentrum anruft wegen traffic.

Der Anruf sollte ihm sicher sein. Ich schaff jetzt 4 GB pro Stunde durch den Crawler zu schieben. Gut das das Limit für den Server bei 5 TB /Monat liegt. Aber ich denke, ich muss mir bald eine Storage-Lösung suchen.
PCA42
 
Beiträge: 621
Registriert: Mi Jan 23, 2008 4:19 pm
Wohnort: @Home

Re: Crawler-Queue überarbeiten

Beitragvon Orbiter » So Jun 07, 2009 10:08 pm

bitte keine Beschwerden, du hast das Topic aufgemacht ;)
Orbiter
 
Beiträge: 5798
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Crawler-Queue überarbeiten

Beitragvon Phiber » Mo Jun 08, 2009 9:09 am

Bei mir sieht der Performance-Graph jetzt einfach oft sehr zerhackt aus mit Pausen dazwischen.

Crawl ist auf 2000/60 Indexing auf 2000/0 , der Indexer müsste also nachkommen. DHT und Remotecrawl sind ausgeschaltet. Die Leitung ist überhaupt nicht ausgelastet, genug Connections sind erlaubt.

Die CPU-Last ist relativ hoch auf 20-50% und er scheint die Kiste auch in Anspruch zu nehmen, trotzdem ist die Crawl-Leistung nun fast tiefer als vorhin.

Hat da jemand Ideen an was das liegen könnte? Anfangs hatte ich auch so etwas wie PCA42, aber 1-2 Tage später nurnoch so Zerstückelungen obwohl ich eine breite Auswahl an Domains habe, davon zeugen auch die Crawl-Resultate.

Ps. Ach und was ich vorallem noch fragen wollte: Das Server-Log im Adminbereich zeigt bei mir irgendwie keine Log's mehr an, weiter ist dort der Tab für die Thread-Dumps verschwunden oder ist einfach was kaputt an meinen YaCy?
Dateianhänge
phiber_serverlog.png
phiber_serverlog.png (134.15 KiB) 6370-mal betrachtet
PerformanceGraph3_phiber.png
PerformanceGraph3_phiber.png (14.16 KiB) 6382-mal betrachtet
Zuletzt geändert von Phiber am Mo Jun 08, 2009 11:27 am, insgesamt 1-mal geändert.
Phiber
 
Beiträge: 96
Registriert: So Okt 05, 2008 9:04 pm

Re: Crawler-Queue überarbeiten

Beitragvon Orbiter » Mo Jun 08, 2009 11:01 am

Phiber hat geschrieben:Das Server-Log im Adminbereich zeigt bei mir irgendwie keine Log's mehr an, weiter ist dort der Tab für die Thread-Dumps verschwunden oder ist einfach was kaputt an meinen YaCy?

Das ist nun wirklich sehr merkwürdig, auch in dem seltenen Fall das ein Fehler, wo auch immer er her käme, die Servlets zerschossen hätte, so würde das immer noch nicht dazu führen das die Tabs in der Menüzeile weg sind. Wenn da was am Menü-Template kaputt wäre, wären gar keine Tabs mehr da und nicht nur einzelne.
Orbiter
 
Beiträge: 5798
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Crawler-Queue überarbeiten

Beitragvon Phiber » Mo Jun 08, 2009 11:30 am

Orbiter hat geschrieben:
Phiber hat geschrieben:Das Server-Log im Adminbereich zeigt bei mir irgendwie keine Log's mehr an, weiter ist dort der Tab für die Thread-Dumps verschwunden oder ist einfach was kaputt an meinen YaCy?

Das ist nun wirklich sehr merkwürdig, auch in dem seltenen Fall das ein Fehler, wo auch immer er her käme, die Servlets zerschossen hätte, so würde das immer noch nicht dazu führen das die Tabs in der Menüzeile weg sind. Wenn da was am Menü-Template kaputt wäre, wären gar keine Tabs mehr da und nicht nur einzelne.


Vorallem wird ja bei jedem Update alles ersetzt ausser das DATA Verzeichniss.
Das Problem besteht unter Ubuntu64bit FF, wie auch auf nem Windows32bit mit ganz normalem IE.
Phiber
 
Beiträge: 96
Registriert: So Okt 05, 2008 9:04 pm

Re: Crawler-Queue überarbeiten

Beitragvon dulcedo » Mo Jun 08, 2009 8:24 pm

Phiber hat geschrieben:Eine Traffic-Limite wäre aber ernsthaft dann wohl angebracht. Speziell für den User, der YaCy nebenbei betreibt und nicht einen extra Server oder gar eben eine eigene Leitung dafür hat.

Will ja noch WoW zocken und rumsurfen nebenbei ;)


Das geht leider nicht über jedem Roter zu regeln, deshalb wirklich sinnvoll. Darüber kann man ja auch sehr gut die Gesamtaktivität regeln. Was ich auch sinnvoll fände wäre den DHT-Traffic ebenfalls zu zählen und für beide Werte einen Warn- und einen Aktionslevel für ein bestimmbares Zeitintervall festzulegen.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Crawler-Queue überarbeiten

Beitragvon Lotus » Di Jun 09, 2009 6:37 am

Phiber hat geschrieben:Ps. Ach und was ich vorallem noch fragen wollte: Das Server-Log im Adminbereich zeigt bei mir irgendwie keine Log's mehr an, weiter ist dort der Tab für die Thread-Dumps verschwunden oder ist einfach was kaputt an meinen YaCy?

In der Vergangenheit hat oft geholfen die yacy.logging im Log-Verzeichnis zu löschen. (YaCy ausschalten)
Lotus
 
Beiträge: 1699
Registriert: Mi Jun 27, 2007 3:33 pm
Wohnort: Hamburg

Re: Crawler-Queue überarbeiten

Beitragvon Phiber » Di Jun 09, 2009 8:49 am

Lotus hat geschrieben:
Phiber hat geschrieben:Ps. Ach und was ich vorallem noch fragen wollte: Das Server-Log im Adminbereich zeigt bei mir irgendwie keine Log's mehr an, weiter ist dort der Tab für die Thread-Dumps verschwunden oder ist einfach was kaputt an meinen YaCy?

In der Vergangenheit hat oft geholfen die yacy.logging im Log-Verzeichnis zu löschen. (YaCy ausschalten)


Ah das hat geholfen, vielen Dank.
Sorry dass ich hier etwas OT gegangen bin. Wäre ja alles eher was für Probleme & Lösungen gewesen.

Aber eben das mit der Bandbreite für Crawl, DHT-IN, DHT-Out sowie Volumen von DHT-In/-Out (so wie es das für den Crawler ja gibt), wären sicher noch Interessante Sachen. Erstmal als Anzeige für die Transparenz vorallem, wären sicher auch spannende Statistikpunkte für yacystats.de.

Wenn die Bandbreite für YaCy ganz regelbar wird, kann das natürlich positive wie auch negative Effekte haben. Ein Rechner mit Index-Recieve der aber <1KB/s für DHT-In erlaubt, hätte die Sperre für die globale Suche umgangen. Auch kann es vielleicht zu unvorteilhaften Performance-Einbussen kommen, wenn man Prozesse wie DHT-In dann nicht für die volle Bandbreite auslastet.

Auf der anderen Seite wäre eine Limite für den Crawler, der bei PCA42 nun mit 4GB/Stunde = 1'165KByte/s läuft, bremsen zu können. Weil jetzt haben wir dann wenn die Hardware noch etwas besser wird, bald wirklich kein Performance Problem auf der Hardware-Seite sondern halt die Internetanschlüsse. Wobei Download ist ja nicht so teuer.
Phiber
 
Beiträge: 96
Registriert: So Okt 05, 2008 9:04 pm

Re: Crawler-Queue überarbeiten

Beitragvon Phiber » Mi Jun 10, 2009 11:42 am

Konnte nun einige der Pausen beim Crawlen mit folgendem im Log identifizieren. Irgendwie komisch, dass er 50s Pause reindrückt für 1 Domain, wo es etliche andere Domains hat. Sobald das gewarte fertig ist läuft er auch wieder wie am Schnürrchen.

Das ganze tritt übrigens meist erst nach ein paar Stunden auf. Wenn man am Anfang neue Crawl-Starts eröffnet, geht er bei mir gut auf 800 ppm hoch.

Code: Alles auswählen
I 2009/06/10 12:31:51 BALANCER forcing crawl-delay of 52 seconds for digg.com (forced latency)
I 2009/06/10 12:31:52 BALANCER waiting for digg.com: 51 seconds remaining...
D 2009/06/10 12:31:52 CRAWLER problem loading http://www.hufsd.edu/news/stories/2008/september/12a.html: The host did not accept the connection within timeout of 9000 ms
D 2009/06/10 12:31:52 CRAWLER problem loading http://digg.com/submit?phase=2&url=http%3A/www.youtube.com/watch%3Fv%3DarcdNos8BRE&title=WotLK%3A%20Utgarde%20Keep&bodytext=Utgarde%20Keep%20is%20the%20first%20dungeon%20hub%20appearing%20in%20World%20of%20Warcraft%3A%20Wrath%20of%20the%20Lich%: Read timed out
I 2009/06/10 12:31:55 BALANCER waiting for digg.com: 48 seconds remaining...
I 2009/06/10 12:31:58 BALANCER waiting for digg.com: 45 seconds remaining...
I 2009/06/10 12:32:01 BALANCER waiting for digg.com: 42 seconds remaining...
I 2009/06/10 12:32:04 BALANCER waiting for digg.com: 39 seconds remaining...
I 2009/06/10 12:32:07 BALANCER waiting for digg.com: 36 seconds remaining...
I 2009/06/10 12:32:10 BALANCER waiting for digg.com: 33 seconds remaining...
I 2009/06/10 12:32:13 BALANCER waiting for digg.com: 30 seconds remaining...
I 2009/06/10 12:32:16 BALANCER waiting for digg.com: 27 seconds remaining...
I 2009/06/10 12:32:19 BALANCER waiting for digg.com: 24 seconds remaining...
I 2009/06/10 12:32:22 BALANCER waiting for digg.com: 21 seconds remaining...
I 2009/06/10 12:32:25 BALANCER waiting for digg.com: 18 seconds remaining...
I 2009/06/10 12:32:28 BALANCER waiting for digg.com: 15 seconds remaining...
I 2009/06/10 12:32:31 BALANCER waiting for digg.com: 12 seconds remaining...
I 2009/06/10 12:32:34 BALANCER waiting for digg.com: 9 seconds remaining...
I 2009/06/10 12:32:37 BALANCER waiting for digg.com: 6 seconds remaining...
I 2009/06/10 12:32:40 BALANCER waiting for digg.com: 3 seconds remaining...


Edit: Es gibt das ganze auch mit einem ~0s Crawl-Delay (was wohl 0-0.5s sind), was ich als Ursache für nurnoch 20-50ppm sehe. Wenn er 60s lang auf eine einzige Domain wartet besteht ja kompletter Stillstand.


Und noch eine 2te Frage zur lokalen-Crawler Queue unter http://localhost:8080/IndexCreateWWWLocalQueue_p.html . Geht dort die Delete-Funktion noch? Die Anzeige klappt ja nicht mehr ganz.
Zuletzt geändert von Phiber am Do Jun 11, 2009 7:22 am, insgesamt 1-mal geändert.
Phiber
 
Beiträge: 96
Registriert: So Okt 05, 2008 9:04 pm

Re: Crawler-Queue überarbeiten

Beitragvon dulcedo » Do Jun 11, 2009 3:59 am

Das selbe hier, ein paar Stunden nach hochfahren 50-100ppm, vorher auch gegen 1000.

Code: Alles auswählen
I 2009/06/11 06:33:27 BALANCER waiting for www.bundesrat.de: 48 seconds remaining...
I 2009/06/11 06:33:30 BALANCER waiting for www.bundesrat.de: 45 seconds remaining...
I 2009/06/11 06:33:34 BALANCER waiting for www.bundesrat.de: 42 seconds remaining...
I 2009/06/11 06:33:37 BALANCER waiting for www.bundesrat.de: 39 seconds remaining...
I 2009/06/11 06:33:38 kelondroBLOBHeap wrote a dump for the 10509807 index entries of index.20090601231645771.blob in 12095 milliseconds.
I 2009/06/11 06:33:40 BALANCER waiting for www.bundesrat.de: 36 seconds remaining...
I 2009/06/11 06:33:43 BALANCER waiting for www.bundesrat.de: 33 seconds remaining...


Das da ist mir gerade beim runterfahren aufgefallen, wenn das andere URLs im Crawl auch bremst wäre das natürlich schlecht.
Beim 2. Runterfahren nach Neustart, 10 Minuten später, taucht diese Zeile nicht mehr auf und er hat zuvor auch wieder flott gecrawlt.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Crawler-Queue überarbeiten

Beitragvon Phiber » Do Jun 11, 2009 2:09 pm

Hum jetzt hab ich ihn irgendwie ganz zerschossen, keine Crawls mehr nix.
Current installed Release
0.830/06037

Log um 15:07:30
Code: Alles auswählen

S 2009/06/11 14:51:32 STARTUP Java version: 1.6.0_13

S 2009/06/11 14:51:32 STARTUP Operation system: Linux

S 2009/06/11 14:51:32 STARTUP Application root-path: /media/disk-1/yacy

S 2009/06/11 14:51:32 STARTUP Time zone: UTC+0200; UTC+0000 is 1244724692473

S 2009/06/11 14:51:32 STARTUP Maximum file system path length: 65535

I 2009/06/11 14:51:33 HeapReader saturation of seed.new.heap.-xEhA7tCnK3-.idx: keylength = 11, vallength = 2, possible saving: 0 MB

I 2009/06/11 14:51:33 HeapReader using a dump of the index of /media/disk-1/yacy/DATA/INDEX/freeworld/NETWORK/seed.new.heap.

I 2009/06/11 14:51:33 kelondroBLOBHeap BLOB seed.new.heap: merged 0 free records

I 2009/06/11 14:51:33 HeapReader saturation of seed.old.heap.r8zIApD7nS9e.idx: keylength = 1, vallength = 2, possible saving: 0 MB

I 2009/06/11 14:51:33 HeapReader using a dump of the index of /media/disk-1/yacy/DATA/INDEX/freeworld/NETWORK/seed.old.heap.

I 2009/06/11 14:51:33 kelondroBLOBHeap BLOB seed.old.heap: merged 0 free records

I 2009/06/11 14:51:33 HeapReader saturation of seed.pot.heap.lKIZKhwMK6Pe.idx: keylength = 2, vallength = 2, possible saving: 0 MB

I 2009/06/11 14:51:33 HeapReader using a dump of the index of /media/disk-1/yacy/DATA/INDEX/freeworld/NETWORK/seed.pot.heap.

I 2009/06/11 14:51:33 kelondroBLOBHeap BLOB seed.pot.heap: merged 0 free records

I 2009/06/11 14:51:34 ECOTABLE initialization of /media/disk-1/yacy/DATA/INDEX/freeworld/NETWORK/news.db: available RAM: 1678MB, allocating space for 4393 entries

I 2009/06/11 14:51:34 ECOTABLE /media/disk-1/yacy/DATA/INDEX/freeworld/NETWORK/news.db: EcoTable /media/disk-1/yacy/DATA/INDEX/freeworld/NETWORK/news.db has table copy ENABLED

I 2009/06/11 14:51:34 ECOTABLE initializing RAM index for EcoTable news.db, please wait.

I 2009/06/11 14:51:37 HeapReader saturation of index.20090611094559427.blob.z4hmUPnjgc-W.idx: keylength = 6, vallength = 4, possible saving: 17 MB

I 2009/06/11 14:51:37 HeapReader using a dump of the index of /media/disk-1/yacy/DATA/INDEX/freeworld/TEXT/RICELL/index.20090611094559427.blob.

I 2009/06/11 14:51:37 kelondroBLOBHeap BLOB index.20090611094559427.blob: merged 0 free records

I 2009/06/11 14:51:44 HeapReader saturation of index.20090610173040841.blob.RqDaHu9fKm4v.idx: keylength = 7, vallength = 5, possible saving: 45 MB

I 2009/06/11 14:51:44 HeapReader using a dump of the index of /media/disk-1/yacy/DATA/INDEX/freeworld/TEXT/RICELL/index.20090610173040841.blob.

I 2009/06/11 14:51:44 kelondroBLOBHeap BLOB index.20090610173040841.blob: merged 0 free records

I 2009/06/11 14:51:44 HeapReader saturation of index.20090611124157640.blob.akojUizDviAd.idx: keylength = 4, vallength = 3, possible saving: 0 MB

I 2009/06/11 14:51:44 HeapReader using a dump of the index of /media/disk-1/yacy/DATA/INDEX/freeworld/TEXT/RICELL/index.20090611124157640.blob.

I 2009/06/11 14:51:44 HeapReader saturation of index.20090611124132150.blob.mVFHZxmCgTfM.idx: keylength = 6, vallength = 4, possible saving: 3 MB

I 2009/06/11 14:51:44 HeapReader using a dump of the index of /media/disk-1/yacy/DATA/INDEX/freeworld/TEXT/RICELL/index.20090611124132150.blob.

I 2009/06/11 14:51:45 kelondroSplitTable opening partial eco table /media/disk-1/yacy/DATA/INDEX/freeworld/TEXT/METADATA/urls.20090501150238812.table

I 2009/06/11 14:51:45 ECOTABLE initialization of /media/disk-1/yacy/DATA/INDEX/freeworld/TEXT/METADATA/urls.20090501150238812.table: available RAM: 1264MB, allocating space for 1238897 entries

I 2009/06/11 14:51:45 ECOTABLE /media/disk-1/yacy/DATA/INDEX/freeworld/TEXT/METADATA/urls.20090501150238812.table: EcoTable /media/disk-1/yacy/DATA/INDEX/freeworld/TEXT/METADATA/urls.20090501150238812.table has table copy DISABLED

I 2009/06/11 14:51:45 ECOTABLE initializing RAM index for EcoTable urls.20090501150238812.table, please wait.

I 2009/06/11 14:51:57 kelondroSplitTable opening partial eco table /media/disk-1/yacy/DATA/INDEX/freeworld/TEXT/METADATA/urls.20090601080618186.table

I 2009/06/11 14:51:57 ECOTABLE initialization of /media/disk-1/yacy/DATA/INDEX/freeworld/TEXT/METADATA/urls.20090601080618186.table: available RAM: 1474MB, allocating space for 781855 entries

I 2009/06/11 14:51:57 ECOTABLE /media/disk-1/yacy/DATA/INDEX/freeworld/TEXT/METADATA/urls.20090601080618186.table: EcoTable /media/disk-1/yacy/DATA/INDEX/freeworld/TEXT/METADATA/urls.20090601080618186.table has table copy DISABLED

I 2009/06/11 14:51:57 ECOTABLE initializing RAM index for EcoTable urls.20090601080618186.table, please wait.

I 2009/06/11 14:52:07 kelondroSplitTable opening partial eco table /media/disk-1/yacy/DATA/INDEX/freeworld/TEXT/METADATA/urls.20090401000001072.table

I 2009/06/11 14:52:07 ECOTABLE initialization of /media/disk-1/yacy/DATA/INDEX/freeworld/TEXT/METADATA/urls.20090401000001072.table: available RAM: 1373MB, allocating space for 362730 entries

I 2009/06/11 14:52:07 ECOTABLE /media/disk-1/yacy/DATA/INDEX/freeworld/TEXT/METADATA/urls.20090401000001072.table: EcoTable /media/disk-1/yacy/DATA/INDEX/freeworld/TEXT/METADATA/urls.20090401000001072.table has table copy DISABLED

I 2009/06/11 14:52:07 ECOTABLE initializing RAM index for EcoTable urls.20090401000001072.table, please wait.

I 2009/06/11 14:52:12 HeapReader saturation of crawlProfilesActive.heap.7mBPTjF9mZqf.idx: keylength = 0, vallength = 2, possible saving: 0 MB

I 2009/06/11 14:52:12 HeapReader using a dump of the index of /media/disk-1/yacy/DATA/INDEX/freeworld/QUEUES/crawlProfilesActive.heap.

I 2009/06/11 14:52:12 HeapReader saturation of crawlProfilesPassive.heap.RCFeyg6SmeKm.idx: keylength = 1, vallength = 2, possible saving: 0 MB

I 2009/06/11 14:52:12 HeapReader using a dump of the index of /media/disk-1/yacy/DATA/INDEX/freeworld/QUEUES/crawlProfilesPassive.heap.

I 2009/06/11 14:52:12 kelondroBLOBHeap BLOB crawlProfilesPassive.heap: merged 0 free records

I 2009/06/11 14:52:16 HeapReader saturation of crawlRobotsTxt.heap.uvH4At5MC6Xh.idx: keylength = 39, vallength = 4, possible saving: 1 MB

I 2009/06/11 14:52:16 HeapReader using a dump of the index of /media/disk-1/yacy/DATA/PLASMADB/crawlRobotsTxt.heap.

I 2009/06/11 14:52:16 kelondroBLOBHeap BLOB crawlRobotsTxt.heap: merged 0 free records

I 2009/06/11 14:52:19 HeapReader saturation of responseHeader.heap.ttzfgcqGwURk.idx: keylength = 6, vallength = 4, possible saving: 9 MB

I 2009/06/11 14:52:19 HeapReader using a dump of the index of /media/disk-1/yacy/DATA/HTCACHE/responseHeader.heap.

I 2009/06/11 14:52:19 kelondroBLOBHeap BLOB responseHeader.heap: merged 0 free records

I 2009/06/11 14:52:19 HeapReader saturation of VnRbvb7EhdAA.20090611062236653.blob.tY8VmzjNIdBs.idx: keylength = 6, vallength = 4, possible saving: 0 MB

I 2009/06/11 14:52:19 HeapReader using a dump of the index of /media/disk-1/yacy/DATA/HTCACHE/file.array/VnRbvb7EhdAA.20090611062236653.blob.

I 2009/06/11 14:52:19 kelondroBLOBHeap BLOB VnRbvb7EhdAA.20090611062236653.blob: merged 0 free records

I 2009/06/11 14:52:19 HeapReader saturation of VnRbvb7EhdAA.20090611101359473.blob.G3DGpHTEwQm7.idx: keylength = 4, vallength = 4, possible saving: 0 MB

I 2009/06/11 14:52:19 HeapReader using a dump of the index of /media/disk-1/yacy/DATA/HTCACHE/file.array/VnRbvb7EhdAA.20090611101359473.blob.

I 2009/06/11 14:52:19 kelondroBLOBHeap BLOB VnRbvb7EhdAA.20090611101359473.blob: merged 0 free records

I 2009/06/11 14:52:20 HeapReader saturation of VnRbvb7EhdAA.20090611095452103.blob.J47SXUAN7vDs.idx: keylength = 5, vallength = 4, possible saving: 0 MB

I 2009/06/11 14:52:20 HeapReader using a dump of the index of /media/disk-1/yacy/DATA/HTCACHE/file.array/VnRbvb7EhdAA.20090611095452103.blob.

I 2009/06/11 14:52:20 kelondroBLOBHeap BLOB VnRbvb7EhdAA.20090611095452103.blob: merged 0 free records

I 2009/06/11 14:52:20 HeapReader saturation of VnRbvb7EhdAA.20090611093554338.blob.GYlUnO2tgply.idx: keylength = 6, vallength = 4, possible saving: 0 MB

I 2009/06/11 14:52:20 HeapReader using a dump of the index of /media/disk-1/yacy/DATA/HTCACHE/file.array/VnRbvb7EhdAA.20090611093554338.blob.

I 2009/06/11 14:52:20 kelondroBLOBHeap BLOB VnRbvb7EhdAA.20090611093554338.blob: merged 0 free records

I 2009/06/11 14:52:20 HeapReader saturation of VnRbvb7EhdAA.20090611092103121.blob.o4MIdKCFOtVB.idx: keylength = 4, vallength = 4, possible saving: 0 MB

I 2009/06/11 14:52:20 HeapReader using a dump of the index of /media/disk-1/yacy/DATA/HTCACHE/file.array/VnRbvb7EhdAA.20090611092103121.blob.

I 2009/06/11 14:52:20 kelondroBLOBHeap BLOB VnRbvb7EhdAA.20090611092103121.blob: merged 0 free records

I 2009/06/11 14:52:20 HeapReader saturation of VnRbvb7EhdAA.20090610171826443.blob.ECdlcW3YPDlG.idx: keylength = 4, vallength = 4, possible saving: 0 MB

I 2009/06/11 14:52:21 HeapReader using a dump of the index of /media/disk-1/yacy/DATA/HTCACHE/file.array/VnRbvb7EhdAA.20090610171826443.blob.

I 2009/06/11 14:52:21 kelondroBLOBHeap BLOB VnRbvb7EhdAA.20090610171826443.blob: merged 0 free records

I 2009/06/11 14:52:21 HeapReader saturation of VnRbvb7EhdAA.20090611070106341.blob.sgN4lY4ZtXUU.idx: keylength = 4, vallength = 4, possible saving: 0 MB

I 2009/06/11 14:52:21 HeapReader using a dump of the index of /media/disk-1/yacy/DATA/HTCACHE/file.array/VnRbvb7EhdAA.20090611070106341.blob.

I 2009/06/11 14:52:21 kelondroBLOBHeap BLOB VnRbvb7EhdAA.20090611070106341.blob: merged 0 free records

I 2009/06/11 14:52:21 HeapReader saturation of VnRbvb7EhdAA.20090611063647246.blob.CKwyCRxNXo7c.idx: keylength = 4, vallength = 4, possible saving: 0 MB

I 2009/06/11 14:52:21 HeapReader using a dump of the index of /media/disk-1/yacy/DATA/HTCACHE/file.array/VnRbvb7EhdAA.20090611063647246.blob.

I 2009/06/11 14:52:21 kelondroBLOBHeap BLOB VnRbvb7EhdAA.20090611063647246.blob: merged 0 free records

I 2009/06/11 14:52:21 HeapReader saturation of VnRbvb7EhdAA.20090611072338450.blob.hNke4FYLx3Tq.idx: keylength = 4, vallength = 4, possible saving: 0 MB

I 2009/06/11 14:52:21 HeapReader using a dump of the index of /media/disk-1/yacy/DATA/HTCACHE/file.array/VnRbvb7EhdAA.20090611072338450.blob.

I 2009/06/11 14:52:21 kelondroBLOBHeap BLOB VnRbvb7EhdAA.20090611072338450.blob: merged 0 free records

I 2009/06/11 14:52:21 HeapReader saturation of VnRbvb7EhdAA.20090611090758831.blob.PGWbTS6V67R5.idx: keylength = 4, vallength = 4, possible saving: 0 MB

I 2009/06/11 14:52:22 HeapReader using a dump of the index of /media/disk-1/yacy/DATA/HTCACHE/file.array/VnRbvb7EhdAA.20090611090758831.blob.

I 2009/06/11 14:52:22 kelondroBLOBHeap BLOB VnRbvb7EhdAA.20090611090758831.blob: merged 0 free records

I 2009/06/11 14:52:22 HeapReader generating index for /media/disk-1/yacy/DATA/WORK/message.heap, 0 MB. Please wait.

I 2009/06/11 14:52:22 HeapReader finished index generation for /media/disk-1/yacy/DATA/WORK/message.heap, 0 entries, 0 gaps.

I 2009/06/11 14:52:22 HeapReader generating index for /media/disk-1/yacy/DATA/WORK/wiki.heap, 0 MB. Please wait.

I 2009/06/11 14:52:22 HeapReader finished index generation for /media/disk-1/yacy/DATA/WORK/wiki.heap, 0 entries, 0 gaps.

I 2009/06/11 14:52:22 HeapReader generating index for /media/disk-1/yacy/DATA/WORK/wiki-bkp.heap, 0 MB. Please wait.

I 2009/06/11 14:52:22 HeapReader finished index generation for /media/disk-1/yacy/DATA/WORK/wiki-bkp.heap, 0 entries, 0 gaps.

I 2009/06/11 14:52:22 HeapReader generating index for /media/disk-1/yacy/DATA/WORK/blog.heap, 0 MB. Please wait.

I 2009/06/11 14:52:22 HeapReader finished index generation for /media/disk-1/yacy/DATA/WORK/blog.heap, 0 entries, 0 gaps.

I 2009/06/11 14:52:22 HeapReader generating index for /media/disk-1/yacy/DATA/WORK/blogComment.heap, 0 MB. Please wait.

I 2009/06/11 14:52:22 HeapReader finished index generation for /media/disk-1/yacy/DATA/WORK/blogComment.heap, 0 entries, 0 gaps.

I 2009/06/11 14:52:22 HeapReader generating index for /media/disk-1/yacy/DATA/SETTINGS/user.db, 0 MB. Please wait.

I 2009/06/11 14:52:22 HeapReader finished index generation for /media/disk-1/yacy/DATA/SETTINGS/user.db, 1 entries, 0 gaps.

I 2009/06/11 14:52:22 HeapReader generating index for /media/disk-1/yacy/DATA/WORK/bookmarks.heap, 0 MB. Please wait.

I 2009/06/11 14:52:22 HeapReader finished index generation for /media/disk-1/yacy/DATA/WORK/bookmarks.heap, 0 entries, 0 gaps.

I 2009/06/11 14:52:22 HeapReader generating index for /media/disk-1/yacy/DATA/WORK/bookmarkTags.heap, 0 MB. Please wait.

I 2009/06/11 14:52:22 HeapReader finished index generation for /media/disk-1/yacy/DATA/WORK/bookmarkTags.heap, 0 entries, 0 gaps.

I 2009/06/11 14:52:22 BOOKMARKS rebuilding tags.db from bookmarks.db...

I 2009/06/11 14:52:22 BOOKMARKS Rebuilt 0 tags using your 0 bookmarks.

I 2009/06/11 14:52:22 HeapReader generating index for /media/disk-1/yacy/DATA/WORK/bookmarkDates.heap, 0 MB. Please wait.

I 2009/06/11 14:52:22 HeapReader finished index generation for /media/disk-1/yacy/DATA/WORK/bookmarkDates.heap, 0 entries, 0 gaps.

I 2009/06/11 14:52:22 BOOKMARKS autoReCrawl - serverBusyThread initialized checking every 60 minutes for recrawls

S 2009/06/11 14:52:24 CRAWLER Starting Crawling Management

I 2009/06/11 14:52:24 ECOTABLE initialization of /media/disk-1/yacy/DATA/PLASMADB/urlNoticeCoreStack9.db: available RAM: 1384MB, allocating space for 368234 entries

I 2009/06/11 14:52:24 ECOTABLE /media/disk-1/yacy/DATA/PLASMADB/urlNoticeCoreStack9.db: EcoTable /media/disk-1/yacy/DATA/PLASMADB/urlNoticeCoreStack9.db has table copy DISABLED

I 2009/06/11 14:52:24 ECOTABLE initializing RAM index for EcoTable urlNoticeCoreStack9.db, please wait.

I 2009/06/11 14:52:34 Balancer opened balancer file with 368234 entries from /media/disk-1/yacy/DATA/PLASMADB/urlNoticeCoreStack9.db

I 2009/06/11 14:52:34 ECOTABLE initialization of /media/disk-1/yacy/DATA/PLASMADB/urlNoticeLimitStack9.db: available RAM: 1312MB, allocating space for 0 entries

I 2009/06/11 14:52:34 ECOTABLE /media/disk-1/yacy/DATA/PLASMADB/urlNoticeLimitStack9.db: EcoTable /media/disk-1/yacy/DATA/PLASMADB/urlNoticeLimitStack9.db has table copy DISABLED

I 2009/06/11 14:52:34 ECOTABLE initializing RAM index for EcoTable urlNoticeLimitStack9.db, please wait.

I 2009/06/11 14:52:34 Balancer opened balancer file with 0 entries from /media/disk-1/yacy/DATA/PLASMADB/urlNoticeLimitStack9.db

I 2009/06/11 14:52:34 ECOTABLE initialization of /media/disk-1/yacy/DATA/PLASMADB/urlNoticeRemoteStack9.db: available RAM: 1312MB, allocating space for 0 entries

I 2009/06/11 14:52:34 ECOTABLE /media/disk-1/yacy/DATA/PLASMADB/urlNoticeRemoteStack9.db: EcoTable /media/disk-1/yacy/DATA/PLASMADB/urlNoticeRemoteStack9.db has table copy DISABLED

I 2009/06/11 14:52:34 ECOTABLE initializing RAM index for EcoTable urlNoticeRemoteStack9.db, please wait.

I 2009/06/11 14:52:34 Balancer opened balancer file with 0 entries from /media/disk-1/yacy/DATA/PLASMADB/urlNoticeRemoteStack9.db

I 2009/06/11 14:52:34 ECOTABLE initialization of /media/disk-1/yacy/DATA/PLASMADB/urlError3.db: available RAM: 1312MB, allocating space for 0 entries

I 2009/06/11 14:52:34 ECOTABLE /media/disk-1/yacy/DATA/PLASMADB/urlError3.db: EcoTable /media/disk-1/yacy/DATA/PLASMADB/urlError3.db has table copy DISABLED

I 2009/06/11 14:52:34 ECOTABLE initializing RAM index for EcoTable urlError3.db, please wait.

I 2009/06/11 14:52:34 ECOTABLE initialization of /media/disk-1/yacy/DATA/PLASMADB/urlDelegated3.db: available RAM: 1312MB, allocating space for 0 entries

I 2009/06/11 14:52:34 ECOTABLE /media/disk-1/yacy/DATA/PLASMADB/urlDelegated3.db: EcoTable /media/disk-1/yacy/DATA/PLASMADB/urlDelegated3.db has table copy DISABLED

I 2009/06/11 14:52:34 ECOTABLE initializing RAM index for EcoTable urlDelegated3.db, please wait.

S 2009/06/11 14:52:34 RESOURCE OBSERVER thread 'de.anomic.crawler.ResourceObserver.initThread' deployed, starting job.

I 2009/06/11 14:52:34 RESOURCE OBSERVER initializing the resource observer

S 2009/06/11 14:52:35 STARTUP YACY Version: 0.83006037, Built 20090609

I 2009/06/11 14:52:35 MIGRATION copied new Skinfile

D 2009/06/11 14:52:35 STARTUP deleting downloaded releases older than 30 days

I 2009/06/11 14:52:35 RESOURCE OBSERVER df of Volume /media/disk-1: 265614 MB

I 2009/06/11 14:52:35 RESOURCE OBSERVER run completed; everything in order

S 2009/06/11 14:52:35 RESOURCE OBSERVER thread 'de.anomic.crawler.ResourceObserver.initThread' terminated.

I 2009/06/11 14:52:38 STARTUP Copied the default locales to /media/disk-1/yacy/DATA/LOCALE/locales

S 2009/06/11 14:52:38 STARTUP Registering Shutdown Hook

S 2009/06/11 14:52:38 HTTPDFiles Loading mime mapping file httpd.mime

W 2009/06/11 14:52:40 FILEHANDLER Unexpected error while processing query.
Session: Session_202.60.94.100:50676#0
Query:   /yacy/query.html
Client:  202.60.94.100
Reason:  java.io.IOException: FileUploadException Stream ended unexpectedly
java.io.IOException: FileUploadException Stream ended unexpectedly
   at de.anomic.http.httpd.parseMultipart(httpd.java:916)
   at de.anomic.http.httpdFileHandler.doResponse(httpdFileHandler.java:352)
   at de.anomic.http.httpdFileHandler.doPost(httpdFileHandler.java:248)
   at de.anomic.http.httpd.POST(httpd.java:631)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at de.anomic.server.serverCore$Session.listen(serverCore.java:741)
   at de.anomic.server.serverCore$Session.run(serverCore.java:620)

I 2009/06/11 14:52:51 Balancer no profile entry for handle 7ALMqQtvIgLA

I 2009/06/11 14:52:51 Balancer no profile entry for handle 7ALMqQtvIgLA

I 2009/06/11 14:52:51 Balancer no profile entry for handle 7ALMqQtvIgLA

I 2009/06/11 14:52:51 Balancer no profile entry for handle 7ALMqQtvIgLA

I 2009/06/11 14:52:51 Balancer no profile entry for handle 7ALMqQtvIgLA

I 2009/06/11 14:52:51 Balancer no profile entry for handle 7ALMqQtvIgLA

I 2009/06/11 14:52:51 Balancer no profile entry for handle 7ALMqQtvIgLA

I 2009/06/11 14:52:51 Balancer no profile entry for handle 7ALMqQtvIgLA

I 2009/06/11 14:52:51 Balancer no profile entry for handle 7ALMqQtvIgLA

I 2009/06/11 14:52:51 Balancer no profile entry for handle 7ALMqQtvIgLA

I 2009/06/11 14:52:51 Balancer no profile entry for handle 7ALMqQtvIgLA

I 2009/06/11 14:52:51 Balancer no profile entry for handle 7ALMqQtvIgLA

I 2009/06/11 14:52:51 Balancer no profile entry for handle 7ALMqQtvIgLA

I 2009/06/11 14:52:51 Balancer no profile entry for handle 7ALMqQtvIgLA

I 2009/06/11 14:52:51 Balancer no profile entry for handle 7ALMqQtvIgLA

I 2009/06/11 14:52:51 Balancer no profile entry for handle 7ALMqQtvIgLA

I 2009/06/11 14:52:51 Balancer no profile entry for handle 7ALMqQtvIgLA

I 2009/06/11 14:52:51 Balancer no profile entry for handle 7ALMqQtvIgLA

I 2009/06/11 14:52:51 Balancer no profile entry for handle 7ALMqQtvIgLA

I 2009/06/11 14:54:22 BOOKMARKS autoReCrawl - reading schedules from /media/disk-1/yacy/DATA/SETTINGS/autoReCrawl.conf

I 2009/06/11 14:54:22 BOOKMARKS autoReCrawl - processing: /autoReCrawl/hourly

I 2009/06/11 14:54:22 BOOKMARKS autoReCrawl - processing: /autoReCrawl/daily

I 2009/06/11 14:54:22 BOOKMARKS autoReCrawl - processing: /autoReCrawl/weekly

I 2009/06/11 14:54:22 BOOKMARKS autoReCrawl - processing: /autoReCrawl/monthly

E 2009/06/11 15:03:07 YACY yacyClient.permissionTransfer error:Connection refused

E 2009/06/11 15:03:08 YACY yacyClient.permissionTransfer error:Connection refused

E 2009/06/11 15:03:20 YACY yacyClient.permissionTransfer error:Connection refused

E 2009/06/11 15:03:20 YACY yacyClient.permissionTransfer error:Connection refused

E 2009/06/11 15:03:21 YACY yacyClient.permissionTransfer error:Connection refused

D 2009/06/11 15:03:23 KELONDRO file '/media/disk-1/yacy/DATA/INDEX/freeworld/NETWORK/newsProcessed.stack' closed.

D 2009/06/11 15:03:23 KELONDRO file '/media/disk-1/yacy/DATA/INDEX/freeworld/NETWORK/newsPublished.stack' closed.

I 2009/06/11 15:03:23 RESOURCE OBSERVER df of Volume /media/disk-1: 265668 MB

I 2009/06/11 15:03:23 RESOURCE OBSERVER run completed; everything in order


Code: Alles auswählen
************* Start Thread Dump Thu Jun 11 15:05:45 CEST 2009 *******************

YaCy Version: 0.830/06037
Total Memory = 1764884480
Used  Memory = 433610760
Free  Memory = 1331273720


THREADS WITH STATES: BLOCKED


THREADS WITH STATES: RUNNABLE

Occurrences: 19889
at java.io.PushbackInputStream.read(PushbackInputStream.java:122)
at de.anomic.server.serverCore.receive(serverCore.java:842)
at de.anomic.server.serverCore$Session.readLine(serverCore.java:566)
at de.anomic.server.serverCore$Session.listen(serverCore.java:673)
at de.anomic.server.serverCore$Session.run(serverCore.java:620)

Occurrences: 1000
at java.lang.Thread.getAllStackTraces(Thread.java:1487)
at Threaddump_p.respond(Threaddump_p.java:81)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.anomic.http.httpdFileHandler.invokeServlet(httpdFileHandler.java:1171)
at de.anomic.http.httpdFileHandler.doResponse(httpdFileHandler.java:751)
at de.anomic.http.httpdFileHandler.doGet(httpdFileHandler.java:240)
at de.anomic.http.httpd.GET(httpd.java:490)
at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.anomic.server.serverCore$Session.listen(serverCore.java:741)
at de.anomic.server.serverCore$Session.run(serverCore.java:620)

Occurrences: 1000
at java.net.ServerSocket.accept(ServerSocket.java:421)
at de.anomic.server.serverCore.job(serverCore.java:331)
at de.anomic.server.serverAbstractBusyThread.run(serverAbstractBusyThread.java:143)

Occurrences: 1000
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.commons.httpclient.protocol.ReflectionSocketFactory.createSocket(ReflectionSocketFactory.java:140)
at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:125)
at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1361)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
at de.anomic.http.httpClient.execute(httpClient.java:455)
at de.anomic.http.httpClient.POST(httpClient.java:345)
at de.anomic.yacy.yacyClient.wput(yacyClient.java:281)
at de.anomic.yacy.yacyClient.publishMySeed(yacyClient.java:128)
at de.anomic.yacy.yacyCore$publishThread.run(yacyCore.java:233)

Occurrences: 864
at de.anomic.kelondro.index.RowSet.remove(RowSet.java:167) [super.removeRow(index, true); // keep order of collection!]
at de.anomic.kelondro.index.RowSet.remove(RowSet.java:182)
at de.anomic.kelondro.index.ObjectIndexCache.remove(ObjectIndexCache.java:162)
at de.anomic.kelondro.index.HandleMap.remove(HandleMap.java:246)
at de.anomic.kelondro.table.EcoTable.remove(EcoTable.java:499)
at de.anomic.crawler.Balancer.pop(Balancer.java:318)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:227)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:194)
at de.anomic.crawler.CrawlQueues.coreCrawlJob(CrawlQueues.java:211)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.anomic.server.serverInstantBusyThread.job(serverInstantBusyThread.java:96)
at de.anomic.server.serverAbstractBusyThread.run(serverAbstractBusyThread.java:143)

Occurrences: 71
at java.io.PushbackInputStream.read(PushbackInputStream.java:169)
at org.apache.commons.httpclient.ContentLengthInputStream.read(ContentLengthInputStream.java:170)
at org.apache.commons.fileupload.MultipartStream$ItemInputStream.makeAvailable(MultipartStream.java:977)
at org.apache.commons.fileupload.MultipartStream$ItemInputStream.read(MultipartStream.java:887)
at java.io.InputStream.read(InputStream.java:85)
at org.apache.commons.fileupload.util.Streams.copy(Streams.java:94)
at org.apache.commons.fileupload.util.Streams.copy(Streams.java:64)
at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:362)
at de.anomic.http.httpd.parseMultipart(httpd.java:913)
at de.anomic.http.httpdFileHandler.doResponse(httpdFileHandler.java:352)
at de.anomic.http.httpdFileHandler.doPost(httpdFileHandler.java:248)
at de.anomic.http.httpd.POST(httpd.java:631)
at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.anomic.server.serverCore$Session.listen(serverCore.java:741)
at de.anomic.server.serverCore$Session.run(serverCore.java:620)

Occurrences: 39
at java.io.PushbackInputStream.read(PushbackInputStream.java:169)
at org.apache.commons.httpclient.ContentLengthInputStream.read(ContentLengthInputStream.java:170)
at org.apache.commons.fileupload.MultipartStream.readByte(MultipartStream.java:426)
at org.apache.commons.fileupload.MultipartStream.readHeaders(MultipartStream.java:537)
at org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.findNextItem(FileUploadBase.java:976)
at org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.hasNext(FileUploadBase.java:1040)
at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:356)
at de.anomic.http.httpd.parseMultipart(httpd.java:913)
at de.anomic.http.httpdFileHandler.doResponse(httpdFileHandler.java:352)
at de.anomic.http.httpdFileHandler.doPost(httpdFileHandler.java:248)
at de.anomic.http.httpd.POST(httpd.java:631)
at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.anomic.server.serverCore$Session.listen(serverCore.java:741)
at de.anomic.server.serverCore$Session.run(serverCore.java:620)

Occurrences: 29
at java.io.RandomAccessFile.length(Native Method)
at de.anomic.kelondro.io.EcoFS.filesize(EcoFS.java:153)
at de.anomic.kelondro.io.EcoFS.size(EcoFS.java:141)
at de.anomic.kelondro.io.BufferedEcoFS.size(BufferedEcoFS.java:64)
at de.anomic.kelondro.io.BufferedEcoFS.get(BufferedEcoFS.java:87)
at de.anomic.kelondro.table.EcoTable.remove(EcoTable.java:501)
at de.anomic.crawler.Balancer.pop(Balancer.java:318)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:227)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:194)
at de.anomic.crawler.CrawlQueues.coreCrawlJob(CrawlQueues.java:211)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.anomic.server.serverInstantBusyThread.job(serverInstantBusyThread.java:96)
at de.anomic.server.serverAbstractBusyThread.run(serverAbstractBusyThread.java:143)

Occurrences: 14
at java.io.RandomAccessFile.readFully(RandomAccessFile.java:381)
at de.anomic.kelondro.io.EcoFS.fillCache(EcoFS.java:216)
at de.anomic.kelondro.io.EcoFS.get(EcoFS.java:261)
at de.anomic.kelondro.io.BufferedEcoFS.get(BufferedEcoFS.java:90)
at de.anomic.kelondro.table.EcoTable.remove(EcoTable.java:501)
at de.anomic.crawler.Balancer.pop(Balancer.java:318)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:227)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:194)
at de.anomic.crawler.CrawlQueues.coreCrawlJob(CrawlQueues.java:211)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.anomic.server.serverInstantBusyThread.job(serverInstantBusyThread.java:96)
at de.anomic.server.serverAbstractBusyThread.run(serverAbstractBusyThread.java:143)

Occurrences: 12
at java.io.RandomAccessFile.setLength(Native Method)
at de.anomic.kelondro.io.EcoFS.cleanLast0(EcoFS.java:517)
at de.anomic.kelondro.io.EcoFS.cleanLast(EcoFS.java:482)
at de.anomic.kelondro.io.BufferedEcoFS.cleanLast(BufferedEcoFS.java:120)
at de.anomic.kelondro.table.EcoTable.remove(EcoTable.java:502)
at de.anomic.crawler.Balancer.pop(Balancer.java:318)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:227)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:194)
at de.anomic.crawler.CrawlQueues.coreCrawlJob(CrawlQueues.java:211)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.anomic.server.serverInstantBusyThread.job(serverInstantBusyThread.java:96)
at de.anomic.server.serverAbstractBusyThread.run(serverAbstractBusyThread.java:143)

Occurrences: 9
at java.io.RandomAccessFile.readFully(RandomAccessFile.java:381)
at de.anomic.kelondro.io.EcoFS.fillCache(EcoFS.java:216)
at de.anomic.kelondro.io.EcoFS.cleanLast0(EcoFS.java:508)
at de.anomic.kelondro.io.EcoFS.cleanLast(EcoFS.java:482)
at de.anomic.kelondro.io.BufferedEcoFS.cleanLast(BufferedEcoFS.java:120)
at de.anomic.kelondro.table.EcoTable.remove(EcoTable.java:502)
at de.anomic.crawler.Balancer.pop(Balancer.java:318)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:227)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:194)
at de.anomic.crawler.CrawlQueues.coreCrawlJob(CrawlQueues.java:211)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.anomic.server.serverInstantBusyThread.job(serverInstantBusyThread.java:96)
at de.anomic.server.serverAbstractBusyThread.run(serverAbstractBusyThread.java:143)

Occurrences: 7
at java.io.RandomAccessFile.length(Native Method)
at de.anomic.kelondro.io.EcoFS.filesize(EcoFS.java:153)
at de.anomic.kelondro.io.EcoFS.size(EcoFS.java:141)
at de.anomic.kelondro.io.EcoFS.get(EcoFS.java:255)
at de.anomic.kelondro.io.BufferedEcoFS.get(BufferedEcoFS.java:90)
at de.anomic.kelondro.table.EcoTable.remove(EcoTable.java:501)
at de.anomic.crawler.Balancer.pop(Balancer.java:318)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:227)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:194)
at de.anomic.crawler.CrawlQueues.coreCrawlJob(CrawlQueues.java:211)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.anomic.server.serverInstantBusyThread.job(serverInstantBusyThread.java:96)
at de.anomic.server.serverAbstractBusyThread.run(serverAbstractBusyThread.java:143)

Occurrences: 6
at java.util.regex.Matcher.find(Matcher.java:535)
at de.anomic.yacy.yacyURL.resolveBackpath(yacyURL.java:272)
at de.anomic.yacy.yacyURL.parseURLString(yacyURL.java:117)
at de.anomic.yacy.yacyURL.<init>(yacyURL.java:77)
at de.anomic.crawler.CrawlEntry.insertEntry(CrawlEntry.java:138)
at de.anomic.crawler.CrawlEntry.<init>(CrawlEntry.java:131)
at de.anomic.crawler.Balancer.pop(Balancer.java:329)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:227)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:194)
at de.anomic.crawler.CrawlQueues.coreCrawlJob(CrawlQueues.java:211)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.anomic.server.serverInstantBusyThread.job(serverInstantBusyThread.java:96)
at de.anomic.server.serverAbstractBusyThread.run(serverAbstractBusyThread.java:143)

Occurrences: 5
at java.io.RandomAccessFile.write(RandomAccessFile.java:466)
at de.anomic.kelondro.io.EcoFS.put(EcoFS.java:325)
at de.anomic.kelondro.io.BufferedEcoFS.flushBuffer(BufferedEcoFS.java:58)
at de.anomic.kelondro.io.BufferedEcoFS.put(BufferedEcoFS.java:106)
at de.anomic.kelondro.table.EcoTable.remove(EcoTable.java:503)
at de.anomic.crawler.Balancer.pop(Balancer.java:318)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:227)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:194)
at de.anomic.crawler.CrawlQueues.coreCrawlJob(CrawlQueues.java:211)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.anomic.server.serverInstantBusyThread.job(serverInstantBusyThread.java:96)
at de.anomic.server.serverAbstractBusyThread.run(serverAbstractBusyThread.java:143)

Occurrences: 5
at java.io.RandomAccessFile.length(Native Method)
at de.anomic.kelondro.io.EcoFS.filesize(EcoFS.java:153)
at de.anomic.kelondro.io.EcoFS.fillCache(EcoFS.java:207)
at de.anomic.kelondro.io.EcoFS.get(EcoFS.java:261)
at de.anomic.kelondro.io.BufferedEcoFS.get(BufferedEcoFS.java:90)
at de.anomic.kelondro.table.EcoTable.remove(EcoTable.java:501)
at de.anomic.crawler.Balancer.pop(Balancer.java:318)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:227)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:194)
at de.anomic.crawler.CrawlQueues.coreCrawlJob(CrawlQueues.java:211)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.anomic.server.serverInstantBusyThread.job(serverInstantBusyThread.java:96)
at de.anomic.server.serverAbstractBusyThread.run(serverAbstractBusyThread.java:143)

Occurrences: 5
at java.io.RandomAccessFile.length(Native Method)
at de.anomic.kelondro.io.EcoFS.filesize(EcoFS.java:153)
at de.anomic.kelondro.io.EcoFS.size(EcoFS.java:141)
at de.anomic.kelondro.io.EcoFS.cleanLast(EcoFS.java:484)
at de.anomic.kelondro.io.BufferedEcoFS.cleanLast(BufferedEcoFS.java:120)
at de.anomic.kelondro.table.EcoTable.remove(EcoTable.java:502)
at de.anomic.crawler.Balancer.pop(Balancer.java:318)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:227)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:194)
at de.anomic.crawler.CrawlQueues.coreCrawlJob(CrawlQueues.java:211)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.anomic.server.serverInstantBusyThread.job(serverInstantBusyThread.java:96)
at de.anomic.server.serverAbstractBusyThread.run(serverAbstractBusyThread.java:143)

Occurrences: 4
at java.io.RandomAccessFile.length(Native Method)
at de.anomic.kelondro.io.EcoFS.filesize(EcoFS.java:153)
at de.anomic.kelondro.io.EcoFS.inBuffer(EcoFS.java:177)
at de.anomic.kelondro.io.EcoFS.put(EcoFS.java:291)
at de.anomic.kelondro.io.BufferedEcoFS.flushBuffer(BufferedEcoFS.java:58)
at de.anomic.kelondro.io.BufferedEcoFS.put(BufferedEcoFS.java:106)
at de.anomic.kelondro.table.EcoTable.remove(EcoTable.java:503)
at de.anomic.crawler.Balancer.pop(Balancer.java:318)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:227)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:194)
at de.anomic.crawler.CrawlQueues.coreCrawlJob(CrawlQueues.java:211)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.anomic.server.serverInstantBusyThread.job(serverInstantBusyThread.java:96)
at de.anomic.server.serverAbstractBusyThread.run(serverAbstractBusyThread.java:143)

Occurrences: 2
at de.anomic.kelondro.index.RowSet.binarySearch(RowSet.java:237) [if (d < 0) rbound = p; else l = p + 1;]
at de.anomic.kelondro.index.RowSet.find(RowSet.java:209)
at de.anomic.kelondro.index.RowSet.get(RowSet.java:99)
at de.anomic.kelondro.index.ObjectIndexCache.get(ObjectIndexCache.java:79)
at de.anomic.kelondro.index.HandleMap.get(HandleMap.java:173)
at de.anomic.kelondro.blob.HeapReader.has(HeapReader.java:231)
at de.anomic.kelondro.blob.BLOBHeap.has(BLOBHeap.java:123)
at de.anomic.kelondro.blob.MapView.has(MapView.java:191)
at de.anomic.crawler.CrawlProfile.hasEntry(CrawlProfile.java:215)
at de.anomic.crawler.Balancer.pop(Balancer.java:334)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:227)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:194)
at de.anomic.crawler.CrawlQueues.coreCrawlJob(CrawlQueues.java:211)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.anomic.server.serverInstantBusyThread.job(serverInstantBusyThread.java:96)
at de.anomic.server.serverAbstractBusyThread.run(serverAbstractBusyThread.java:143)

Occurrences: 2
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

Occurrences: 2
at java.io.RandomAccessFile.length(Native Method)
at de.anomic.kelondro.io.EcoFS.filesize(EcoFS.java:153)
at de.anomic.kelondro.io.EcoFS.inBuffer(EcoFS.java:177)
at de.anomic.kelondro.io.EcoFS.get(EcoFS.java:258)
at de.anomic.kelondro.io.BufferedEcoFS.get(BufferedEcoFS.java:90)
at de.anomic.kelondro.table.EcoTable.remove(EcoTable.java:501)
at de.anomic.crawler.Balancer.pop(Balancer.java:318)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:227)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:194)
at de.anomic.crawler.CrawlQueues.coreCrawlJob(CrawlQueues.java:211)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.anomic.server.serverInstantBusyThread.job(serverInstantBusyThread.java:96)
at de.anomic.server.serverAbstractBusyThread.run(serverAbstractBusyThread.java:143)

Occurrences: 2
at java.util.concurrent.ConcurrentLinkedQueue.size(ConcurrentLinkedQueue.java:304)
at de.anomic.crawler.Balancer.filltop(Balancer.java:380)
at de.anomic.crawler.Balancer.pop(Balancer.java:305)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:227)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:194)
at de.anomic.crawler.CrawlQueues.coreCrawlJob(CrawlQueues.java:211)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.anomic.server.serverInstantBusyThread.job(serverInstantBusyThread.java:96)
at de.anomic.server.serverAbstractBusyThread.run(serverAbstractBusyThread.java:143)

Occurrences: 2
at java.io.RandomAccessFile.length(Native Method)
at de.anomic.kelondro.io.EcoFS.filesize(EcoFS.java:153)
at de.anomic.kelondro.io.EcoFS.size(EcoFS.java:141)
at de.anomic.kelondro.io.EcoFS.cleanLast0(EcoFS.java:503)
at de.anomic.kelondro.io.EcoFS.cleanLast(EcoFS.java:482)
at de.anomic.kelondro.io.BufferedEcoFS.cleanLast(BufferedEcoFS.java:120)
at de.anomic.kelondro.table.EcoTable.remove(EcoTable.java:502)
at de.anomic.crawler.Balancer.pop(Balancer.java:318)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:227)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:194)
at de.anomic.crawler.CrawlQueues.coreCrawlJob(CrawlQueues.java:211)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.anomic.server.serverInstantBusyThread.job(serverInstantBusyThread.java:96)
at de.anomic.server.serverAbstractBusyThread.run(serverAbstractBusyThread.java:143)

Occurrences: 2
at java.util.regex.Pattern.matcher(Pattern.java:888)
at de.anomic.yacy.yacyURL.resolveBackpath(yacyURL.java:271)
at de.anomic.yacy.yacyURL.parseURLString(yacyURL.java:117)
at de.anomic.yacy.yacyURL.<init>(yacyURL.java:77)
at de.anomic.crawler.CrawlEntry.insertEntry(CrawlEntry.java:138)
at de.anomic.crawler.CrawlEntry.<init>(CrawlEntry.java:131)
at de.anomic.crawler.Balancer.pop(Balancer.java:329)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:227)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:194)
at de.anomic.crawler.CrawlQueues.coreCrawlJob(CrawlQueues.java:211)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.anomic.server.serverInstantBusyThread.job(serverInstantBusyThread.java:96)
at de.anomic.server.serverAbstractBusyThread.run(serverAbstractBusyThread.java:143)

Occurrences: 2
at java.util.concurrent.ConcurrentHashMap$EntryIterator.next(ConcurrentHashMap.java:1157)
at de.anomic.crawler.Balancer.filltop(Balancer.java:397)
at de.anomic.crawler.Balancer.pop(Balancer.java:306)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:227)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:194)
at de.anomic.crawler.CrawlQueues.coreCrawlJob(CrawlQueues.java:211)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.anomic.server.serverInstantBusyThread.job(serverInstantBusyThread.java:96)
at de.anomic.server.serverAbstractBusyThread.run(serverAbstractBusyThread.java:143)

Occurrences: 2
at java.util.concurrent.ConcurrentHashMap$EntryIterator.next(ConcurrentHashMap.java:1157)
at de.anomic.crawler.Balancer.filltop(Balancer.java:397)
at de.anomic.crawler.Balancer.pop(Balancer.java:304)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:227)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:194)
at de.anomic.crawler.CrawlQueues.coreCrawlJob(CrawlQueues.java:211)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.anomic.server.serverInstantBusyThread.job(serverInstantBusyThread.java:96)
at de.anomic.server.serverAbstractBusyThread.run(serverAbstractBusyThread.java:143)

Occurrences: 2
at java.io.RandomAccessFile.length(Native Method)
at de.anomic.kelondro.io.EcoFS.filesize(EcoFS.java:153)
at de.anomic.kelondro.io.EcoFS.size(EcoFS.java:141)
at de.anomic.kelondro.io.BufferedEcoFS.size(BufferedEcoFS.java:64)
at de.anomic.kelondro.io.BufferedEcoFS.put(BufferedEcoFS.java:98)
at de.anomic.kelondro.table.EcoTable.remove(EcoTable.java:503)
at de.anomic.crawler.Balancer.pop(Balancer.java:318)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:227)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:194)
at de.anomic.crawler.CrawlQueues.coreCrawlJob(CrawlQueues.java:211)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.anomic.server.serverInstantBusyThread.job(serverInstantBusyThread.java:96)
at de.anomic.server.serverAbstractBusyThread.run(serverAbstractBusyThread.java:143)

Occurrences: 2
at java.util.concurrent.ConcurrentLinkedQueue.size(ConcurrentLinkedQueue.java:304)
at de.anomic.crawler.Balancer.filltop(Balancer.java:380)
at de.anomic.crawler.Balancer.pop(Balancer.java:298)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:227)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:194)
at de.anomic.crawler.CrawlQueues.coreCrawlJob(CrawlQueues.java:211)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.anomic.server.serverInstantBusyThread.job(serverInstantBusyThread.java:96)
at de.anomic.server.serverAbstractBusyThread.run(serverAbstractBusyThread.java:143)

Occurrences: 2
at java.io.RandomAccessFile.length(Native Method)
at de.anomic.kelondro.io.EcoFS.filesize(EcoFS.java:153)
at de.anomic.kelondro.io.EcoFS.fillCache(EcoFS.java:200)
at de.anomic.kelondro.io.EcoFS.get(EcoFS.java:261)
at de.anomic.kelondro.io.BufferedEcoFS.get(BufferedEcoFS.java:90)
at de.anomic.kelondro.table.EcoTable.remove(EcoTable.java:501)
at de.anomic.crawler.Balancer.pop(Balancer.java:318)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:227)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:194)
at de.anomic.crawler.CrawlQueues.coreCrawlJob(CrawlQueues.java:211)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.anomic.server.serverInstantBusyThread.job(serverInstantBusyThread.java:96)
at de.anomic.server.serverAbstractBusyThread.run(serverAbstractBusyThread.java:143)

Occurrences: 1
at java.io.RandomAccessFile.length(Native Method)
at de.anomic.kelondro.io.EcoFS.filesize(EcoFS.java:153)
at de.anomic.kelondro.io.EcoFS.fillCache(EcoFS.java:207)
at de.anomic.kelondro.io.EcoFS.cleanLast0(EcoFS.java:508)
at de.anomic.kelondro.io.EcoFS.cleanLast(EcoFS.java:482)
at de.anomic.kelondro.io.BufferedEcoFS.cleanLast(BufferedEcoFS.java:120)
at de.anomic.kelondro.table.EcoTable.remove(EcoTable.java:502)
at de.anomic.crawler.Balancer.pop(Balancer.java:318)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:227)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:194)
at de.anomic.crawler.CrawlQueues.coreCrawlJob(CrawlQueues.java:211)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.anomic.server.serverInstantBusyThread.job(serverInstantBusyThread.java:96)
at de.anomic.server.serverAbstractBusyThread.run(serverAbstractBusyThread.java:143)

Occurrences: 1
at java.io.RandomAccessFile.length(Native Method)
at de.anomic.kelondro.io.EcoFS.filesize(EcoFS.java:153)
at de.anomic.kelondro.io.EcoFS.put(EcoFS.java:280)
at de.anomic.kelondro.io.BufferedEcoFS.flushBuffer(BufferedEcoFS.java:58)
at de.anomic.kelondro.io.BufferedEcoFS.put(BufferedEcoFS.java:106)
at de.anomic.kelondro.table.EcoTable.remove(EcoTable.java:503)
at de.anomic.crawler.Balancer.pop(Balancer.java:318)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:227)
at de.anomic.crawler.NoticedURL.pop(NoticedURL.java:194)
at de.anomic.crawler.CrawlQueues.coreCrawlJob(CrawlQueues.java:211)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.anomic.server.serverInstantBusyThread.job(serverInstantBusyThread.java:96)
at de.anomic.server.serverAbstractBusyThread.run(serverAbstractBusyThread.java:143)


THREADS WITH STATES: TIMED_WAITING

Occurrences: 7000
at java.lang.Thread.sleep(Native Method)
at de.anomic.server.serverAbstractBusyThread.ratz(serverAbstractBusyThread.java:199)
at de.anomic.server.serverAbstractBusyThread.run(serverAbstractBusyThread.java:164)

Occurrences: 999
at java.lang.Thread.sleep(Native Method)
at de.anomic.server.serverProfiling.run(serverProfiling.java:64)

Occurrences: 1
at de.anomic.server.serverProfiling.update(serverProfiling.java:99) [while (history.size() > 0) {]
at de.anomic.server.serverProfiling.run(serverProfiling.java:62)


THREADS WITH STATES: WAITING

Occurrences: 29000
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
at de.anomic.server.serverProcessor.take(serverProcessor.java:97)
at de.anomic.server.serverAbstractBlockingThread.run(serverAbstractBlockingThread.java:55)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)

Occurrences: 4000
at java.lang.Thread.run(Thread.java:619)

Occurrences: 1000
at java.lang.Object.wait(Object.java:485)
at de.anomic.server.serverSemaphore.P(serverSemaphore.java:63)
at de.anomic.plasma.plasmaSwitchboard.waitForShutdown(plasmaSwitchboard.java:2261)
at yacy.startup(yacy.java:422)
at yacy.main(yacy.java:1045)

Occurrences: 1000
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$ReferenceQueueThread.run(MultiThreadedHttpConnectionManager.java:1122)

Occurrences: 1000
at java.util.concurrent.Semaphore.acquire(Semaphore.java:286)
at de.anomic.kelondro.text.IODispatcher.run(IODispatcher.java:132)

Occurrences: 1000
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)

Occurrences: 1000
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

Occurrences: 1000
at java.lang.Object.wait(Object.java:485)
at de.anomic.server.serverSemaphore.P(serverSemaphore.java:63)
at de.anomic.yacy.yacyCore.publishMySeed(yacyCore.java:397)
at de.anomic.yacy.yacyCore.peerPing(yacyCore.java:193)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.anomic.server.serverInstantBusyThread.job(serverInstantBusyThread.java:96)
at de.anomic.server.serverAbstractBusyThread.run(serverAbstractBusyThread.java:143)
Phiber
 
Beiträge: 96
Registriert: So Okt 05, 2008 9:04 pm

Re: Crawler-Queue überarbeiten

Beitragvon dulcedo » Fr Jun 12, 2009 2:15 pm

Orbiter hat geschrieben:bitte keine Beschwerden, du hast das Topic aufgemacht ;)


Das schäbige Kabelmodem hier beschwert sich gerade, ohne das wäre wohl noch einiges mehr drin (Quad, 8GB, Ubuntu Hardy), prima! Runterregeln ist die einfachere Übung.
Aber diese "Gedächnisminuten" hat er auch, ab und an. Als ich diesen Crawl gestartet habe war er ca. 5min. überhaupt nicht zu erreichen, dann so losgelegt.

Edit: das erste Bild könnte der Grund sein, an dem Modem hängt nur YaCy. Laut Einstellung ist YaCy auf 400 Verbindungen begrenzt (SVN6054).
Windows erzeugt mit SVN6052 ca 500 Verbindungen bei einem vergleichbaren Crawl mit seinem Maxiumum 400ppm
Dateianhänge
connections090611b.png
connections090611b.png (14.39 KiB) 6170-mal betrachtet
perf4.png
perf4.png (29.75 KiB) 6182-mal betrachtet
perf6.png
perf6.png (37.26 KiB) 6179-mal betrachtet
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Crawler-Queue überarbeiten

Beitragvon Lotus » Fr Jun 12, 2009 4:36 pm

Es gibt unter Windows ja dieses Anti-Wurm-Feature, welches die Anzahl der ausgehenden Verbindungsversuche (halboffene Verbindungen) limitiert und bei Erreichen des Limits den Aufbau nachhaltig verzögert. Vielleicht ist dazu ein Hinweis in deinem System-Log zu finden.

Edit: Mit Vista SP2 und 7 ist das wohl wieder Geschichte: (Newsmeldung) http://lvllord.de/
Lotus
 
Beiträge: 1699
Registriert: Mi Jun 27, 2007 3:33 pm
Wohnort: Hamburg

Re: Crawler-Queue überarbeiten

Beitragvon dulcedo » Fr Jun 12, 2009 4:42 pm

Nein, die Grafiken sind alle von einem Linux-Peer. Der Vergleich mit Windows sollte nur zeigen dass dort weniger Verbindungen offen sind, was du ja inderekt auch sagt. Die Probleme aber bei Linux. Ich vermute er will dann zuviele Verbindungen aufmachen und Modem/Router kann nicht soviele. Dadurch kommt man natürlich auch nicht remote auf den Rechner.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Crawler-Queue überarbeiten

Beitragvon dulcedo » Sa Jun 13, 2009 1:41 pm

Ich schaffe es momentan mit aktuellen Versionen weder unter Linux noch unter Windows den Crawler richtig zum laufen zu bringen. Die angesprichenen Pausen treten sehr häufig auf, die Gesamtcrawlleistung irgendwo um die 50ppm, auch wenn er gleichmässig crawlt.
Wenn ihr bitte die entsprechenden Meldungen (nicht nur von mir und auch zu den immer wieder fehlenden Wortemn) nochmal durchgehen könntet, bevor wieder in ganz anderer Ecke tätig. Im Moment testet ja kaum jemand eure Entwicklungen. Eine tolle Suche nutzt überhaupt nichts wenn kein Index zum suchen vorhanden.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Crawler-Queue überarbeiten

Beitragvon apfelmaennchen » Sa Jun 13, 2009 2:53 pm

dulcedo hat geschrieben:...nochmal durchgehen könntet, bevor wieder in ganz anderer Ecke tätig. Im Moment testet ja kaum jemand eure Entwicklungen. Eine tolle Suche nutzt überhaupt nichts wenn kein Index zum suchen vorhanden.


<OT>
SVN Commits der letzten 24d 20h 45m:
orbiter: 66
apfelmaennchen: 23
lotus: 7
borg-0300: 3
flori: 1

Ich für meinen Teil bin berufstätig, arbeite mind. 10h - 12h am Tag und wenn ich dann noch die Augen offen halten kann, mache ich was an YaCy (das meiste davon habe ich noch nicht ins SVN gestellt). Ich glaube es ist nachvollziehbar, dass man sich da die Ecke aussucht, die einem persönlich gerade Spaß bringt. Und mit Blick auf die Anzahl Entwickler finde ich es, schon beeindruckend, mit welcher Geschwindigkeit YaCy sich entwickelt.

Und ein Index in dem keiner suchen mag oder kann, bzw. in dem nichts gefunden wird ist ebenfalls nutzlos!
Mit der neuen Surrogates-Schnittstelle ist der YaCy-Crawler ja auch nicht mehr die einzigste Quelle für den Index...

Im Moment scheinen wirklich alle viel um die Ohren zu haben, Entwickler wie Tester. Das schöne ist aber, dass hier im Forum nichts verloren geht und hin und wieder geht ja auch mal jemand durch die alten Posts...ich für meinen Teil bin froh über jedes Feedback und kann nur drum bitten, dass auch weiter getestet wird, auch wenn nicht unmittelbar reagiert wird.
</OT>

Gruß!
apfelmaennchen
apfelmaennchen
 
Beiträge: 429
Registriert: Mo Aug 20, 2007 7:06 pm

Re: Crawler-Queue überarbeiten

Beitragvon Orbiter » Sa Jun 13, 2009 6:50 pm

apfelmaennchen hat geschrieben:Ich für meinen Teil bin berufstätig, arbeite mind. 10h - 12h am Tag und wenn ich dann noch die Augen offen halten kann, mache ich was an YaCy (das meiste davon habe ich noch nicht ins SVN gestellt).

Ist bei mir auch so. Es ist auch wichtig, dass jeder der ein Feature baut sich ganz auf das eine Ding konzentrieren kann, das so lange weiter zu Ende macht wie er denkt das es richtig ist, weil ein ständiges hin- und her- Springen zwischen Bereichen ziemlich an den Kräften zehrt. Wie apfelmaennchen schreibt: hier geht nichts verloren und die Showstopper schon gar nicht.
Orbiter
 
Beiträge: 5798
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Crawler-Queue überarbeiten

Beitragvon dulcedo » Sa Jun 13, 2009 10:01 pm

Orbiter hat geschrieben:
apfelmaennchen hat geschrieben:Ich für meinen Teil bin berufstätig, arbeite mind. 10h - 12h am Tag und wenn ich dann noch die Augen offen halten kann, mache ich was an YaCy (das meiste davon habe ich noch nicht ins SVN gestellt).

Ist bei mir auch so. Es ist auch wichtig, dass jeder der ein Feature baut sich ganz auf das eine Ding konzentrieren kann, das so lange weiter zu Ende macht wie er denkt das es richtig ist, weil ein ständiges hin- und her- Springen zwischen Bereichen ziemlich an den Kräften zehrt. Wie apfelmaennchen schreibt: hier geht nichts verloren und die Showstopper schon gar nicht.


Keine Frage, darum geht es mir ja: Es wurde die Datenbank umgestellt und niemand hat es richtig getestet. Danach dann andere Bereiche angefangen.
Es geht kein Update von 0.7 auf 0.8, entweder überhaupt nicht weil das RAM ausgeht oder dann nur noch ein Bruchteil Worte übrig. Dann steigt der Speicherverbrauch und als Gegenmassnahme soll man die Indexdateien vergrössern. Dass dabei ca. die Hälfte des Gesamtindexes verloren gegangen ist wird abgehakt, warum das so ist testet niemand.
Dass die Meldungen hier gesammelt werden ist mir auch klar, wenn die Fehler aber zeitnah zu beseitigen sind dann nützt es nicht wenn 2 Monate später behoben. Dann ist mein Index kaputt wie wohl bei dir jetzt auch Apfelmännchen. Ich arbeite gerade mit 3TB Backups damit mir nicht das selbe passiert wie etlichen Peers im Freeworld, einfach mal nachsehen in der Liste.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Crawler-Queue überarbeiten

Beitragvon apfelmaennchen » Sa Jun 13, 2009 10:23 pm

Jop, mein Peer verliert wirklich etwas arg dramatisch RWIs....nur hat das nix mit der Crawler-Queue zu tun...
Ich bin jetzt von 40 Mio. RWI innerhalb von zwei Tagen runter auf 12 Mio.
Beschleunigt wird das Problem durch jeden Neustart von YaCy.

Gruß!
apfelmaennchen
apfelmaennchen
 
Beiträge: 429
Registriert: Mo Aug 20, 2007 7:06 pm

Nächste

Zurück zu Wunschliste

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron