Yacy startet nicht mehr

Hier finden YaCy User Hilfe wenn was nicht funktioniert oder anders funktioniert als man dachte. Bei offensichtlichen Fehlern diese bitte gleich in die Bugs (http://bugs.yacy.net) eintragen.
Forumsregeln
In diesem Forum geht es um Benutzungsprobleme und Anfragen für Hilfe. Wird dabei ein Bug identifiziert, wird der thread zur Bearbeitung in die Bug-Sektion verschoben. Wer hier also einen Thread eingestellt hat und ihn vermisst, wird ihn sicherlich in der Bug-Sektion wiederfinden.

Yacy startet nicht mehr

Beitragvon buxul » Do Aug 28, 2008 2:44 pm

Hallo *,

bin vor 2 Tagen per Zufall (über eine typo3-Extension) auf yacy gestoßen und habe es gleich mal auf zwei Peers installiert. Leider muss ich sagen, dass - so toll das Konzept ist - die Software nicht ausgereift ist:

1. Der erste Peer (hswt-rzw) lief mit der neuesten Entwicklerversion und war anfangs per IE7 fast nicht zu bedienen, da unter Windows XP die Prozessorlast auf 100% Anstieg (ich gebe zu bei massivem Crawling). Erst das Runterstellen auf niedrigere Priorität brachte dann etwas und vor allem der Umstieg auf Firefox als Browser. Da es sich bei dieser Maschine um meinen Arbeitsplatzrechner handelt, wollte ich nun den bereits gewonnenen Index auf eine neu aufgesetzte VM unter VmWare ESX übertragen. Das funktionierte anfangs ganz gut, nun nachdem der Index nur noch 100000 Wörter beinhaltet, geht aber gar nichts mehr. Im Log stehen nur noch folgende Fehler:

E 2008/08/28 15:20:40 PLASMA selectTransferIndexes database corrupted: array does not contain expected row in db 'C:\Programme\YaCy\DATA\INDEX\freeworld\TEXT\RICOLLECTION\collection.04.0028.01.00.kca'
de.anomic.kelondro.kelondroException: array does not contain expected row in db 'C:\Programme\YaCy\DATA\INDEX\freeworld\TEXT\RICOLLECTION\collection.04.0028.01.00.kca'
at de.anomic.kelondro.kelondroCollectionIndex.getwithparams(kelondroCollectionIndex.java:748)
at de.anomic.kelondro.kelondroCollectionIndex.getdelete(kelondroCollectionIndex.java:741)
at de.anomic.kelondro.kelondroCollectionIndex$keycollectionIterator.next(kelondroCollectionIndex.java:817)
at de.anomic.kelondro.kelondroCollectionIndex$keycollectionIterator.next(kelondroCollectionIndex.java:798)
at de.anomic.index.indexCollectionRI$wordContainersIterator.next(indexCollectionRI.java:117)
at de.anomic.index.indexCollectionRI$wordContainersIterator.next(indexCollectionRI.java:98)
at de.anomic.kelondro.kelondroMergeIterator.nextb(kelondroMergeIterator.java:64)
at de.anomic.kelondro.kelondroMergeIterator.next(kelondroMergeIterator.java:79)
at de.anomic.kelondro.kelondroRotateIterator.next(kelondroRotateIterator.java:62)
at de.anomic.plasma.plasmaWordIndex.indexContainerSet(plasmaWordIndex.java:797)
at de.anomic.plasma.plasmaDHTChunk.selectTransferContainersResource(plasmaDHTChunk.java:192)
at de.anomic.plasma.plasmaDHTChunk.selectTransferContainers(plasmaDHTChunk.java:179)
at de.anomic.plasma.plasmaDHTChunk.<init>(plasmaDHTChunk.java:116)
at de.anomic.plasma.plasmaSwitchboard.deQueueProcess(plasmaSwitchboard.java:1194)
at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at de.anomic.server.serverInstantBusyThread.job(serverInstantBusyThread.java:96)
at de.anomic.server.serverAbstractBusyThread.run(serverAbstractBusyThread.java:142)

Damit kann ich den ersten Peer wohl deinstallieren.

2. Der 2. Peer (hswt-yacy) lief mit der stable-Version erst mal mit erstaunlicher Performance und stand nun bei (256.815 Links und 1.250.749 Wörtern). Der Peer hing sich aber immer wieder bei der Indexierung von swf-Dateien auf und nur noch Neustarten von yacy half, ihn wieder zum Laufen zu bekommen. Der letzte Versuch eines Neustarts ging jedoch gnadenlos schief. Nun ist yacy auf dem Peer nicht mehr zu starten - es kommt nur folgende Fehlermeldung:

S 2008/08/28 15:15:18 STARTUP Java version: 1.6.0_07
S 2008/08/28 15:15:18 STARTUP Operation system: Linux
S 2008/08/28 15:15:18 STARTUP Application root-path: /opt/yacy
S 2008/08/28 15:15:18 STARTUP Time zone: UTC+0200; UTC+0000 is 1219929318154
S 2008/08/28 15:15:18 STARTUP Maximum file system path length: 65535
I 2008/08/28 15:15:18 PLASMA This is the pro-version of YaCy
I 2008/08/28 15:15:18 PROXY Configuring proxy access logging ...
I 2008/08/28 15:15:18 PROXY Proxy access logging configuration done.
Filename: DATA/LOG/proxyAccess%u%g.log
Limit: 1048576
Count: 20
I 2008/08/28 15:15:18 PLASMA restoring dump for rwi heap 'index.dhtout.heap'
I 2008/08/28 15:15:21 PLASMA finished rwi heap restore: 73018 words, 565681 word/URL relations in 3 seconds
I 2008/08/28 15:15:22 PLASMA restoring dump for rwi heap 'index.dhtin.heap'
E 2008/08/28 15:15:22 STARTUP FATAL ERROR: null
java.lang.NegativeArraySizeException
at de.anomic.kelondro.kelondroRowSet.importRowSet(kelondroRowSet.java:86)
at de.anomic.index.indexContainerHeap$heapFileEntries.next0(indexContainerHeap.java:249)
at de.anomic.index.indexContainerHeap$heapFileEntries.next(indexContainerHeap.java:257)
at de.anomic.index.indexContainerHeap$heapFileEntries.next(indexContainerHeap.java:228)
at de.anomic.index.indexContainerHeap.initWriteMode(indexContainerHeap.java:120)
at de.anomic.index.indexRAMRI.<init>(indexRAMRI.java:70)
at de.anomic.plasma.plasmaWordIndex.<init>(plasmaWordIndex.java:133)
at de.anomic.plasma.plasmaSwitchboard.<init>(plasmaSwitchboard.java:866)
at yacy.startup(yacy.java:234)
at yacy.main(yacy.java:1002)
S 2008/08/28 15:15:22 SHUTDOWN goodbye. (this is the last line)

Da ich kein Java-Programmierer bin, kann ich leider nichts mit den Fehlermeldungen anfangen und sie somit auch nicht beheben.

Fazit: Schade drum, aber solche Fehler im "normalen" Betrieb verhindern eine weitere Ausbreitung von Yacy. Das Konzept finde ich super, aber noch nicht ausgereift. Eine stable-Version sollte schon wirklich stable sein und nicht eine DB, die bereits 1,4 GB Index enthält einfach so zerschießen. Und so weit ich hier in den Foren gelesen habe, gibt es auch keinerlei Reperaturtools. Wenn mir jemand trotzdem helfen kann, so dass ich zumindest den Index noch auf einen eurer Peers übetragen kann, werde ich das noch gerne machen.

Grüße
buxul
buxul
 
Beiträge: 3
Registriert: Do Aug 28, 2008 2:20 pm

Re: Yacy startet nicht mehr

Beitragvon Lotus » Do Aug 28, 2008 8:51 pm

Danke für die Rückmeldung.

Bei Peer 1 hilft vielleicht das Löschen von C:\Programme\YaCy\DATA\INDEX\freeworld\TEXT\RICOLLECTION\collection.index. Dadurch gehen keine Daten verloren.
Bei Peer 2 ist die index.dhtin.heap defekt, Löschen unter DATA/INDEX/freeworld/TEXT/RICACHE hilft. Dadurch wird ein Teil des letzten Speicherinhalts gelöscht.


buxul hat geschrieben:Erst das Runterstellen auf niedrigere Priorität brachte dann etwas und vor allem der Umstieg auf Firefox als Browser.

Das werde ich mir einmal ansehen. YaCy sollte standardmäßig mit niedriger Priorität laufen.
Lotus
 
Beiträge: 1699
Registriert: Mi Jun 27, 2007 3:33 pm
Wohnort: Hamburg

Re: Yacy startet nicht mehr

Beitragvon DanielR » Do Aug 28, 2008 10:41 pm

Wenn wir die Lösung zu diesen Problemen kennen, warum kann YaCy das nicht selbst beheben? Also der erste Fehler führt ja nicht zum Stillstand, aber das zweite könnte man doch automatisch beheben!? Gerettet werden kann da doch nichts mehr oder?

(Gab's glaub ich schonmal, aber aus aktuellem Anlass ... ;)
DanielR
 
Beiträge: 395
Registriert: Di Feb 12, 2008 2:22 pm

Re: Yacy startet nicht mehr

Beitragvon buxul » Fr Aug 29, 2008 7:30 am

Danke für die Tipps: Peer 2 läuft nun wieder tadellos. Ich habe ihm nun auch gleich mal mehr Speicher 2GB und mehr Platte zugeteilt.
Grüße
buxul
buxul
 
Beiträge: 3
Registriert: Do Aug 28, 2008 2:20 pm

Re: Yacy startet nicht mehr

Beitragvon Lotus » Fr Aug 29, 2008 7:49 am

@danielr
Das wird sogar gemacht, das habe ich schon im Code gelesen. Ob es auch bei der dhtout passiert weiß ich allerdings nicht. Die Datei wird dann gelöscht und YaCy startet beim zweiten Versuch.


Code: Alles auswählen
java.lang.NegativeArraySizeException
at de.anomic.kelondro.kelondroRowSet.importRowSet(kelondroRowSet.java:86)

Kann es sein, dass ein Integer nicht ausreicht? Unwahrscheinlich, ich war gerade in einer anderen Programmiersprache in der int = 16Bit sind.
Lotus
 
Beiträge: 1699
Registriert: Mi Jun 27, 2007 3:33 pm
Wohnort: Hamburg

Re: Yacy startet nicht mehr

Beitragvon buxul » Fr Aug 29, 2008 12:24 pm

So, Peer1 hat nun dank eurer Hilfe den Index auf hswt-yacy übertragen und ist außer Betrieb.
buxul
 
Beiträge: 3
Registriert: Do Aug 28, 2008 2:20 pm

Re: Yacy startet nicht mehr

Beitragvon Lotus » Fr Aug 29, 2008 1:21 pm

Hat also das Löschen der collection.index geholfen?
Lotus
 
Beiträge: 1699
Registriert: Mi Jun 27, 2007 3:33 pm
Wohnort: Hamburg

Re: Yacy startet nicht mehr

Beitragvon Lotus » Mo Sep 08, 2008 9:08 pm

buxul hat geschrieben:E 2008/08/28 15:20:40 PLASMA selectTransferIndexes database corrupted: array does not contain expected row in db 'C:\Programme\YaCy\DATA\INDEX\freeworld\TEXT\RICOLLECTION\collection.04.0028.01.00.kca'
[...]

Ich habe den selben Fehler auf meinem unsorgfältig behandelten Testpeer. Es kann sein, dass der Fehler in einer ungünstigen Konstellation mit Standby/Ruhezustand auftritt.
Als automatische Lösung habe ich über die Exception die collection.index beim Beenden gelöscht. (War ein ziemlich Steiniger Weg dort ran zu kommen.) Sie wird beim nächsten Start wieder neu aufgebaut und DHT funktioniert wieder.
Die kaputte DB zum Download: http://alice-dsl.net/yacyweb/TEXT_r5119.7z

@Orbiter: einchecken oder nicht?
Lotus
 
Beiträge: 1699
Registriert: Mi Jun 27, 2007 3:33 pm
Wohnort: Hamburg

Re: Yacy startet nicht mehr

Beitragvon Lotus » Mi Sep 10, 2008 1:55 pm

Lotus hat geschrieben:
buxul hat geschrieben:E 2008/08/28 15:20:40 PLASMA selectTransferIndexes database corrupted: array does not contain expected row in db 'C:\Programme\YaCy\DATA\INDEX\freeworld\TEXT\RICOLLECTION\collection.04.0028.01.00.kca'
[...]

Als automatische Lösung habe ich über die Exception die collection.index beim Beenden gelöscht.

Ich habe das nun in r5135 eingecheckt. Gelöscht werden muss sie ohnehin wenn sie kaputt ist.
Lotus
 
Beiträge: 1699
Registriert: Mi Jun 27, 2007 3:33 pm
Wohnort: Hamburg

Re: Yacy startet nicht mehr

Beitragvon Orbiter » Mi Sep 10, 2008 2:17 pm

Lotus hat geschrieben:@Orbiter: einchecken oder nicht?

ok, gut.
Ein automatischer Index-Rebuild im Falle von zu vielen Fehlern oder nicht-reparierbaren Fehlern ist sinnvoll. Allerdings darf das auch nicht dazu führen das ein Peer zu schnell und zu oft das machen darf und dann bei großem Index viele Stunden nicht da ist wegen Index Neuaufbau.

Bitte nochmal gucken ob es sich um einen reparablen oder irreparablen Fehler handelt. Bei einem temporären Problem würde ich vorschlagen das wir mit einem Zähler arbeiten und erst bei zu vielen Fehlern den Index löschen.
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Yacy startet nicht mehr

Beitragvon Lotus » Mi Sep 10, 2008 5:44 pm

Die Auswirkung obigem Fehlers war, dass kein DHT mehr stattfand. Die Meldung hat das Log bei jedem Durchlauf über mehrere Stunden regelrecht gespamt. Auch ein Neustart hat nichts bewirkt.

Orbiter hat geschrieben:Allerdings darf das auch nicht dazu führen das ein Peer zu schnell und zu oft das machen darf und dann bei großem Index viele Stunden nicht da ist wegen Index Neuaufbau.

Andererseits ist es aber auch nicht schön, wenn etwas von Hand in den Datenstrukturen gemacht werden muss.
Die Counter-Idee ist gut. Ich habe den Wert auf 50 gesetzt. Bei optimaler DHT-Auslastung in den Standard-Einstellungen dauert das maximal 17 Minuten.
Lotus
 
Beiträge: 1699
Registriert: Mi Jun 27, 2007 3:33 pm
Wohnort: Hamburg

Re: Yacy startet nicht mehr

Beitragvon Lotus » Mi Sep 10, 2008 9:53 pm

Ich glaube da gibt es ein Problem mit der Datenbank. Mein "normaler" Peer hat es nun auch mit r5105 und 7 Tage Uptime, vorher war r5035 installiert mit einer Uptime von ca. 30 Tagen ohne Fehler.
Das läuft sicher schon unbemerkt einige Zeit. Der Log gibt nicht viel her weil durch die Rotation nur die letzte Stunde verfügbar ist. Ich lasse den Peer noch über Nacht so weiterlaufen, vielleicht gibt YaCystats ja noch was her.
Lotus
 
Beiträge: 1699
Registriert: Mi Jun 27, 2007 3:33 pm
Wohnort: Hamburg

Re: Yacy startet nicht mehr

Beitragvon Lotus » Do Sep 11, 2008 1:42 pm

Und so sieht's heute aus:
Code: Alles auswählen
yacy@deb-yacy:~/yacy/DATA/LOG$ cat yacy*.log | grep "Collecting DHT target peers" -c
5
yacy@deb-yacy:~/yacy/DATA/LOG$ cat yacy*.log | grep "selectTransferIndexes database corrupted" -c
10137
yacy@deb-yacy:~/yacy/DATA/LOG$ ls -l
insgesamt 22104
-rw-r--r-- 1 yacy yacy  325558 2008-09-11 14:06 yacy00.log
-rw-r--r-- 1 yacy yacy       0 2008-09-03 14:06 yacy00.log.lck
-rw-r--r-- 1 yacy yacy 1049562 2008-09-11 13:40 yacy010.log
-rw-r--r-- 1 yacy yacy 1049073 2008-09-11 13:38 yacy011.log
-rw-r--r-- 1 yacy yacy 1050230 2008-09-11 13:35 yacy012.log
-rw-r--r-- 1 yacy yacy 1050221 2008-09-11 13:33 yacy013.log
-rw-r--r-- 1 yacy yacy 1049402 2008-09-11 13:27 yacy014.log
-rw-r--r-- 1 yacy yacy 1048633 2008-09-11 13:25 yacy015.log
-rw-r--r-- 1 yacy yacy 1049915 2008-09-11 13:17 yacy016.log
-rw-r--r-- 1 yacy yacy 1048779 2008-09-11 13:16 yacy017.log
-rw-r--r-- 1 yacy yacy 1049292 2008-09-11 13:13 yacy018.log
-rw-r--r-- 1 yacy yacy 1049086 2008-09-11 13:08 yacy019.log
-rw-r--r-- 1 yacy yacy 1049014 2008-09-11 14:02 yacy01.log
-rw-r--r-- 1 yacy yacy 1049063 2008-09-11 13:59 yacy02.log
-rw-r--r-- 1 yacy yacy 1048788 2008-09-11 13:56 yacy03.log
-rw-r--r-- 1 yacy yacy 1049863 2008-09-11 13:53 yacy04.log
-rw-r--r-- 1 yacy yacy 1050194 2008-09-11 13:51 yacy05.log
-rw-r--r-- 1 yacy yacy 1049438 2008-09-11 13:49 yacy06.log
-rw-r--r-- 1 yacy yacy 1049462 2008-09-11 13:47 yacy07.log
-rw-r--r-- 1 yacy yacy 1049697 2008-09-11 13:44 yacy08.log
-rw-r--r-- 1 yacy yacy 1050520 2008-09-11 13:42 yacy09.log

Es konnte also 5 Mal innerhalb einer Stunde DHT-Transfer durchgeführt werden. Meine Timings sind jeweils 10s idle/busy für DHT.
Lotus
 
Beiträge: 1699
Registriert: Mi Jun 27, 2007 3:33 pm
Wohnort: Hamburg

Re: Yacy startet nicht mehr

Beitragvon Orbiter » Fr Sep 12, 2008 1:00 pm

ich habe mir das mal genau angeguckt: möglicherweise kann es ja in der DHT-Selection Routine noch andere Ursachen geben könnte als ein Fehler in der Index-DB wäre in solchen Fällen ein Löschen des Indexes nicht angebracht. Ich habe daher die Erfassung der Fehler in die Index-Klasse verlegt. Bei anderen Fehlern müssen wir wieder gesondert gucken woran es liegt. svn 5141
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Yacy startet nicht mehr

Beitragvon Lotus » Fr Sep 12, 2008 1:10 pm

Ich habe den Umbau mit diesem Fehler getestet und die Fehler werden hochgezählt und der Index dann gelöscht & neu aufgebaut.
Lotus
 
Beiträge: 1699
Registriert: Mi Jun 27, 2007 3:33 pm
Wohnort: Hamburg

Re: Yacy startet nicht mehr

Beitragvon Orbiter » Fr Sep 12, 2008 1:15 pm

was, so schnell?
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Yacy startet nicht mehr

Beitragvon Lotus » Fr Sep 12, 2008 1:17 pm

Ja. :) Ich habe einfach den korrupten Index reinkopiert (Download oben) und mit scharfen Delay-Werten wird flott hochgezählt.
Lotus
 
Beiträge: 1699
Registriert: Mi Jun 27, 2007 3:33 pm
Wohnort: Hamburg

Re: Yacy startet nicht mehr

Beitragvon Orbiter » Fr Sep 12, 2008 1:29 pm

also bei mir läuft der DHT Transfer ohne gezicke glatt durch.
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Yacy startet nicht mehr

Beitragvon Lotus » Di Sep 23, 2008 3:00 pm

Lotus hat geschrieben:Ich glaube da gibt es ein Problem mit der Datenbank. Mein "normaler" Peer hat es nun auch mit r5105 und 7 Tage Uptime, vorher war r5035 installiert mit einer Uptime von ca. 30 Tagen ohne Fehler.

Ich habe nun keine Fehler mehr auf meinem Peer bekommen r5143, 10 Tage Uptime.
Die Häufung dieses Problems scheint wohl Zufall gewesen zu sein.
Lotus
 
Beiträge: 1699
Registriert: Mi Jun 27, 2007 3:33 pm
Wohnort: Hamburg


Zurück zu Fragen und Antworten

Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 2 Gäste