Daten beschädigt

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.

Daten beschädigt

Beitragvon Seitenreiter » Mi Jul 29, 2009 7:37 am

Hi, ebend hatte sich mein Rechner festgefressen und beim Neustart paar fehlerhafte Dateien gefunden unter anderem ein paar BLOBS
So nun fährt mein YaCy nicht mehr hoch :-(

I 2009/07/29 08:32:13 ECOTABLE initializing RAM index for EcoTable urls.20090725152927187.table, please wait.
E 2009/07/29 08:32:45 STARTUP FATAL ERROR: -8
java.lang.ArrayIndexOutOfBoundsException: -8
at de.anomic.kelondro.order.Base64Order.compares(Base64Order.java:504)
at de.anomic.kelondro.order.Base64Order.compare0(Base64Order.java:433)
at de.anomic.kelondro.order.Base64Order.compare(Base64Order.java:426)
at de.anomic.kelondro.index.RowCollection.compare(RowCollection.java:853)
at de.anomic.kelondro.index.RowCollection.partition(RowCollection.java:639)
at de.anomic.kelondro.index.RowCollection.sort(RowCollection.java:499)
at de.anomic.kelondro.index.ObjectIndexCache.removeDoubles(ObjectIndexCache.java:149)
at de.anomic.kelondro.index.HandleMap.removeDoubles(HandleMap.java:231)
at de.anomic.kelondro.table.EcoTable.<init>(EcoTable.java:178)
at de.anomic.kelondro.table.SplitTable.init(SplitTable.java:200)
at de.anomic.kelondro.table.SplitTable.<init>(SplitTable.java:109)
at de.anomic.kelondro.table.SplitTable.<init>(SplitTable.java:93)
at de.anomic.kelondro.text.MetadataRepository.<init>(MetadataRepository.java:68)
at de.anomic.kelondro.text.Segment.<init>(Segment.java:117)
at de.anomic.plasma.plasmaSwitchboard.<init>(plasmaSwitchboard.java:346)
at yacy.startup(yacy.java:224)
at yacy.main(yacy.java:1058)
S 2009/07/29 08:32:45 SHUTDOWN goodbye. (this is the last line)


Sagt jetzt bitte, dass ich nicht alle URLs wegschmeißen muss :-/
Seitenreiter
 
Beiträge: 120
Registriert: Di Jul 28, 2009 2:45 pm

Re: Daten beschädigt

Beitragvon dulcedo » Mi Jul 29, 2009 10:54 am

Seitenreiter hat geschrieben:... urls.20090725152927187.table, please wait.
...
Sagt jetzt bitte, dass ich nicht alle URLs wegschmeißen muss :-/


Diese Datei musst du unter /DATA/INDEX/[net]/TEXT/METADATA/ leider löschen, zumindest habe ich noch keinen anderen Weg gefunden.
Wenn in dem Verzeichnis mehrere Dateien sind können die anderen aber bleiben.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Daten beschädigt

Beitragvon Seitenreiter » Mi Jul 29, 2009 12:48 pm

Und das heißt dann, das meine 3,5Mio gecrawlten URLs weg sind? Muss ich dann die Jobs nochmal anstoßen oder macht er selbsständig da weiter wo er aufgehört hatte?
Seitenreiter
 
Beiträge: 120
Registriert: Di Jul 28, 2009 2:45 pm

Re: Daten beschädigt

Beitragvon Orbiter » Mi Jul 29, 2009 1:25 pm

wenn die alle in einer Datei sind ists schlecht, dann wären die weg. Das Problem ist, das hier inkonsistente Daten in der Datei sind und man das Problem nicht mehr an der Stelle beheben kann wo das Problem aufgetreten ist. Ich überlege mal wie man hier vorgehen kann, denn da brauchen wir ja auch eine zukunftsfähige Lösung. Mitte übergangsweise die Datei einfach mal umbenennen (andere Extension), ich denke mal nach was man noch machen kann.
Orbiter
 
Beiträge: 5796
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Daten beschädigt

Beitragvon Seitenreiter » Mi Jul 29, 2009 3:22 pm

Ja ein Startmodi der YaCy dazu bringt die eigenen Datenstrukturen zu überprüfen und zu reparieren wäre ne tolle Sache :)
Seitenreiter
 
Beiträge: 120
Registriert: Di Jul 28, 2009 2:45 pm

Re: Daten beschädigt

Beitragvon Orbiter » Mi Jul 29, 2009 8:45 pm

genau das habe ich nun in SVN 6245 eingebaut. Das ist aber eine rabiate vorgehensweise: alles was einen schlechten key hat (einen der zu so einer Exception führen würde), wird gelöscht. Es empfiehlt sich also ein Back-up zu machen, bevor man SVN 6245 testet. Bitte hier reporten was dann mit 6245 passiert.
Orbiter
 
Beiträge: 5796
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Daten beschädigt

Beitragvon Seitenreiter » Do Jul 30, 2009 6:18 am

Also kann ich die alte zur neuen URL Datei einfach dazukopieren und er würde die mergen? Dublikate eliminiert er automatisch? Macht es Sinn so bei jedem Start zu verfahren, ich meine das ein expliziter "DB reparieren" Modus besser wäre.
Seitenreiter
 
Beiträge: 120
Registriert: Di Jul 28, 2009 2:45 pm

Re: Daten beschädigt

Beitragvon dulcedo » Do Jul 30, 2009 8:10 am

Das würde funktionieren aber Duplikate bleiben dann in den URL-Dateien stehen, belegen also Platz. Er merged nur die index-Dateien die die Worte enthalten.
Orbiter meinte du sollst die Datei nur umbennennen um sie später zu vielleicht zu reparieren, dann wieder einkopieren. Da die zugehörigen Worte auf alle Fälle bleiben geht das so. Ob das mit dem Patch jetzt schon geht weiss ich nicht.

@Orbiter: Nachstellen kannst du das auch bei kleinen Peers durch ein paar KILLs im Betrieb, irgendwann ist dann die oder eine der url-Dateien defekt.
Wenn du eine prominente Meldung generierst dann achte ich drauf. Oder wie bemerke ich das sonst ohne gründlich das Log zu lesen?

In dem Zusamenhang: wenn er (nach Änderung von maxFilesizeWin) die blobs neu merged blockieren folgende Threads, das ist wohl auch die Ursache dafür dass ich so einen merge mehrfach neu anlaufen lassen muss.
Code: Alles auswählen
YaCy Version: 0.910/06177
Total Memory = 4912578560
Used  Memory = 3599847088
Free  Memory = 1312731472


THREADS WITH STATES: BLOCKED

Thread= job_pool-1-thread-25 id=84 BLOCKED
at de.anomic.kelondro.index.Cache.has(Unknown Source) [@ERROR]
at de.anomic.kelondro.text.MetadataRepository.exists(Unknown Source)
at de.anomic.crawler.CrawlStacker.stackCrawl(Unknown Source)
at de.anomic.crawler.CrawlStacker.job(Unknown Source)
at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at de.anomic.server.serverInstantBlockingThread.job(Unknown Source)
at de.anomic.server.serverAbstractBlockingThread.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)


Thread= job_pool-1-thread-26 id=86 BLOCKED
Thread= job_pool-1-thread-27 id=88 BLOCKED
Thread= job_pool-1-thread-28 id=90 BLOCKED
at de.anomic.kelondro.text.MetadataRepository.load(Unknown Source) [@ERROR]
at de.anomic.crawler.CrawlStacker.stackCrawl(Unknown Source)
at de.anomic.crawler.CrawlStacker.job(Unknown Source)
at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at de.anomic.server.serverInstantBlockingThread.job(Unknown Source)
at de.anomic.server.serverAbstractBlockingThread.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)


dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Daten beschädigt

Beitragvon Orbiter » Do Jul 30, 2009 10:09 am

dulcedo hat geschrieben:Wenn du eine prominente Meldung generierst dann achte ich drauf. Oder wie bemerke ich das sonst ohne gründlich das Log zu lesen?


da steht dann: "removing not well-formed entry" und noch Zeug dahinter mit Details zum Problem. Das ganze als Warning, sollte also rot gefärbt im Log stehen. Die Details helfen mir dann hoffentlich ein wenig mehr über die Ursache rauszufinden.

für den deadlock habe ich einen fix probiert: SVN 6246
Orbiter
 
Beiträge: 5796
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Daten beschädigt

Beitragvon Quix0r » Fr Jul 31, 2009 10:35 am

Auf meiner Node free-search1 hatte ich ähnliche Meldungen: viewtopic.php?f=6&t=2214&hilit=#p16223 und viewtopic.php?f=6&t=2263&hilit=

Diese treten derzeit nicht mehr auf, dafür habe ich einen (vermutlichen) Dead-Lock. Ich mach dazu heute Abend mal einen neuen Thread auf.
Quix0r
 
Beiträge: 1345
Registriert: Di Jul 31, 2007 9:22 am
Wohnort: Krefeld


Zurück zu Fragen und Antworten

Wer ist online?

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

cron