STARTUP YaCy cannot start: null

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.

STARTUP YaCy cannot start: null

Beitragvon achtbits » Fr Mai 11, 2012 3:03 pm

Hi!

Meine Yacy ist eine Installation des Debian-Paketes auf einem Debian vserver,
jetzt YaCy 1.02.9081 (und gleiches Verhalten mit .9075).
Die /etc/init.d/yacy wurde belassen wie sie ist.
Im Index-Verzeichnis liegen 40 Dateien mit insgesamt 11,8 GB,
der größte Blob ist 4,0 GB groß.
Es gibt 11,5 GB freien Speicherplatz auf der SSD-Partition.

Speicherzuweisung in yacy.conf:
javastart_Xmx=Xmx16080m
javastart_Xms=Xms16080m

Der Arbeitsspeicherverbrauch steigt beim Start auf bis zu 4 GB, bevor sich YaCy beendet.


yacy00.log:
[…]
I 2012/05/11 12:02:30 TABLE initialization of text.urlmd.20120416123047477.table. table copy: yes, available RAM: 13119MB, needed: 3898MB, allocating space for 2964710 entries
I 2012/05/11 12:02:30 TABLE /usr/share/yacy/DATA/INDEX/freeworld/SEGMENTS/default/text.urlmd.20120416123047477.table: TABLE /usr/share/yacy/DATA/INDEX/freeworld/SEGMENTS/default/text.urlmd.20120416123047477.table has table copy ENABLED
I 2012/05/11 12:02:30 TABLE initializing RAM index for TABLE text.urlmd.20120416123047477.table, please wait.
W 2012/05/11 12:02:34 Table removing not well-formed entry 2946617 with key: [10, 10, 36, 76, 111, 99, 97, 108, 101, 58, 65, 106,], 0/19248
W 2012/05/11 12:02:34 Table removing not well-formed entry 2950203 with key: [32, 36, 76, 111, 99, 10, 10, 10, 0, 0, 0, 0,], 1/19248
W 2012/05/11 12:02:35 Table removing not well-formed entry 2964508 with key: [32, 40, 115, 113, 117, 105, 100, 45, 117, 115, 101, 114,], 2/19248
W 2012/05/11 12:02:35 Table removing not well-formed entry 2953103 with key: [36, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0,], 3/19248
W 2012/05/11 12:02:35 Table removing not well-formed entry 2956024 with key: [36, 76, 111, 10, 10, 10, 0, 0, 0, 0, 0, 0,], 4/19248
E 2012/05/11 12:02:35 STARTUP YaCy cannot start: null
java.lang.NullPointerException
at net.yacy.kelondro.index.RowCollection.compare(RowCollection.java:848)
at net.yacy.kelondro.index.RowSet.binarySearch(RowSet.java:318)
at net.yacy.kelondro.index.RowSet.find(RowSet.java:291)
at net.yacy.kelondro.index.RowSet.has(RowSet.java:131)
at net.yacy.kelondro.index.RAMIndex.replace(RAMIndex.java:165)
at net.yacy.kelondro.index.RAMIndexCluster.replace(RAMIndexCluster.java:263)
at net.yacy.kelondro.index.HandleMap.put(HandleMap.java:221)
at net.yacy.kelondro.table.Table.removeInFile(Table.java:692)
at net.yacy.kelondro.table.Table.<init>(Table.java:201)
at net.yacy.kelondro.table.SplitTable.init(SplitTable.java:217)
at net.yacy.kelondro.table.SplitTable.<init>(SplitTable.java:106)
at net.yacy.kelondro.table.SplitTable.<init>(SplitTable.java:87)
at net.yacy.search.index.MetadataRepository.<init>(MetadataRepository.java:83)
at net.yacy.search.index.Segment.<init>(Segment.java:153)
at net.yacy.search.index.Segments.segment(Segments.java:122)
at net.yacy.search.index.Segments.segment(Segments.java:113)
at net.yacy.search.Switchboard.<init>(Switchboard.java:424)
at net.yacy.yacy.startup(yacy.java:222)
at net.yacy.yacy.main(yacy.java:1018)


Code: Alles auswählen
# java -version
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.1) (6b24-1.11.1-6)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)


Das Crawling der 3 Mio URLs dauerte fast eine Woche. Ich wäre froh, wenn ich
nicht von vorn beginnen müsste. Falls die yacy.conf interessant wäre, sie ist angehängt.
Vielleicht kann mir jemand helfen? Danke!

Sebastian
achtbits
 
Beiträge: 10
Registriert: Fr Mai 11, 2012 2:27 pm

Re: STARTUP YaCy cannot start: null

Beitragvon sixcooler » Fr Mai 11, 2012 3:56 pm

Hallo Sebastian,

Du kannst mal versuchen ind der DATA/SETTINGS/yacy.conf den Wert 'ramcopy=false' zu setzen.

Es sieht aber eher danach aus das die text.urlmd.20120416123047477.table irgendwie kaputt gegangen ist.

cu, sixcooler (aka Sebastian :-)
sixcooler
 
Beiträge: 494
Registriert: Do Aug 14, 2008 5:22 pm

Re: STARTUP YaCy cannot start: null

Beitragvon achtbits » Fr Mai 11, 2012 5:08 pm

Hi, Namensvetter :)

Code: Alles auswählen
# cd /var/lib/yacy/INDEX/freeworld/SEGMENTS/default/
# ls -l *20120416123047477*
-rw-r--r-- 1 yacy yacy 1280747376 Mai 11 17:44 text.urlmd.20120416123047477.table
# rm *20120416123047477*
# /etc/init.d/yacy start
Starting YaCy P2P Web Search: yacy.


… und läuft!
Danke.

Gerade wollte ich nachtragen, dass nach dem ersten fehlgeschlagenen Neustart nur 1,5 GB auf der Partition frei waren.
Da hat es offenbar die Datei (mit den Links) zerschossen. Deshalb war es nicht ausreichend, Platz freizugeben.
Ich vermute, dass YaCy beim Start diverse Merges macht. Leider wird wahrscheinlich VORHER keine Prüfung des freien Platzes für die entstehende neue Datei gemacht (worst case A + B?).
YaCy läuft zwar wieder, aber die Zahl der bekannten Links ist von 3 Mio auf Eintausend gefallen.

Deshalb schlage ich vor, dass geprüft wird, ob der Merge ausgeführt werden kann, und im Fall des Falles eine Fehlermeldung generiert wird.

Sebastian
achtbits
 
Beiträge: 10
Registriert: Fr Mai 11, 2012 2:27 pm

Re: STARTUP YaCy cannot start: null

Beitragvon achtbits » Fr Mai 11, 2012 6:02 pm

P.S. Gibt es ein Werkzeug, um eine beschädigte Tabelle zu reparieren?
achtbits
 
Beiträge: 10
Registriert: Fr Mai 11, 2012 2:27 pm

Re: STARTUP YaCy cannot start: null

Beitragvon sixcooler » Fr Mai 11, 2012 6:55 pm

ich war der meinung irgendwo mal etwas von einer Platzprüfung gesehen zu haben - aber ob sie wirklich vor jedem Merge ausgeführt wird kann ich nicht aus dem Kopf sagen.

hattest Du das mal mit dem 'ramcopy=false' versucht?

Innerhalb gewisser Grenzen wird beim Laden versucht die URL-DB-Files zu reparieren - das wurde ja auch leut Deinem Log versucht.
sixcooler
 
Beiträge: 494
Registriert: Do Aug 14, 2008 5:22 pm

Re: STARTUP YaCy cannot start: null

Beitragvon achtbits » Fr Mai 11, 2012 8:12 pm

Hi!
In der yacy.conf war die Eigenschaft 'ramcopy=false' schon gesetzt.
Übrigens scheint die Uhr dieses Servers hier mindestens fünf Minuten vorzugehen.

Im Wiki habe ich eine Empfehlung/Beschreibung gelesen, YaCy automatisch täglich zu aktualisieren.
Das hat den Eindruck geweckt, dass das sicher ist. Nun, dann schien es sicher, dass sich YaCy nicht selbst ins Bein schießt, weil es im Dateisystem unbemerkt eng wurde.

Ich stelle mir vor, dass die Datenbasis wächst und weiterwächst, und das Ziel ist ja eine projektbezogene Suche bereitzustellen.
Der Index hat also einen gewissen Wert, und ich stelle ihn auch öffentlich zur Verfügung.

Ich bin nur ein einfacher Admin, habe die Finger zum ersten mal an einem NoSQL DBMS.
Als solcher möchte ich gerne die Möglichkeiten kennen, Reparaturen und konsistente Datensicherungen durchzuführen,
um den angesprochenen Wert möglichst erhalten zu können.

Sebastian
achtbits
 
Beiträge: 10
Registriert: Fr Mai 11, 2012 2:27 pm

Re: STARTUP YaCy cannot start: null

Beitragvon Orbiter » Mo Mai 14, 2012 10:38 pm

Hallo Sebastian,

achtbits hat geschrieben:P.S. Gibt es ein Werkzeug, um eine beschädigte Tabelle zu reparieren?

ich hab versucht in commit 0cf3d36eae3dc4fe5e5fe1bc065beba6f0b2b725 das Problem zu lösen, ziehe dir bitte ein Update von http://latest.yacy.net/
und bewege dein DATA-Verzeichnis da hinein. Auto-Update funktioniert bei dir ja nicht weil der Peer ja nicht hochfährt.
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: STARTUP YaCy cannot start: null

Beitragvon achtbits » Di Mai 15, 2012 12:03 pm

Hi!

Der Peer ist wieder hochgefahren, nachdem ich text.urlmd.20120416123047477.table gelöscht habe. Wenn ich gewußt hätte, dass du an einer verbesserten Reparaturfunktion arbeitest, hätte ich sie vorher gesichert.
Wie auch immer, vielen Dank für die Verbesserung, denn in Zukunft könnte theoretisch irgendetwas passieren. ;) Mit dem Update warte ich, bis das Debian-Paket verfügbar ist.

Ich kann mir trotz großer Festplatten verschiedene Szenarien vorstellen, warum Festplattenplatz (temporär) knapp werden könnte. In meinem Fall habe ich den Peer auf einer SSD laufen, die ich auch für andere Zwecke benutze. SSDs sind schnell, aber immer noch klein und teuer.
Was hältst du von einer Überprüfung der Größe des notwendigen freien Speichers (geschätzter Worst Case) auf der Arbeits-Partition _vor_ dem Merging?

Sebastian
achtbits
 
Beiträge: 10
Registriert: Fr Mai 11, 2012 2:27 pm


Zurück zu Fragen und Antworten

Wer ist online?

Mitglieder in diesem Forum: Exabot [Bot] und 5 Gäste

cron