Abstürze basex/DeepFS bei vielen Dateien
Thursday, 17 June 2010 · 2 messages · last reply 1 Jul 2010
CG
Christian Grün17 Jun 2010 16:25 #
Hallo Markus,
im aktuellen DeepFS-Code kenne ich mich nicht bis ins Detail aus. Ich leite Deine Mail mal an Bastian L. und Alex weiter; vielleicht haben sie ein paar Ideen?
Grüße,
Christian
___________________________
2010/6/17 Markus Roth <markus.roth at uni-konstanz.de>:
Quoted text · 65 lines
> Hallo Christian, > > ich bin derzeit ein wenig am Rumspielen mit DeepFS und es tritt > kontinuierlich ein Fehler auf (immer zum gleichen Zeitpunkt): too many open > files. > Wenn ich das Limit für offene file handles hochsetze per ulimit -n (standard > in der bash sind 1024), dann kommt der Fehler später, aber trotzdem. > Siehe dazu weiter unten. > Warum sollte baseX aber so viele offene file handles haben? Mit dem > Lesen/Schreiben zusammen sollten es ja nicht so arg viele sein. Oder werden > u.U. (da die Traversierungs-Fkt. wohl rekursiv sein dürfte) je nach Tiefe > des aktuellen Pfades die Ascendants offen gelassen? Da der Fehler in der > Konsole mehrfach ausgegeben wird bis zum Abbruch: gibt es mehrere parallele > "crawler"/Indexer? > Inwiefern die Volltext-Indexierung bzw. inkludieren der Textdaten Einfluß > hat habe ich noch nicht betrachtet (also die folgenden Daten/Fehler sind mit > den Standardvoreinstellungen von DeepFS OHNE Volltext-Indexierung und > Inklusion von Text entstanden). > > > Gruß, > Markus > > > Linux (CentOS 5.4 final) || basex 6.1 & 6.1.5 -> too many open files > ca. 115k Dateien > XML-Nodes: ulimit: > 1,74Mio 1024 > 1,75Mio 2048 > 1,77Mio 4096 > 1,91Mio 16384 > 3,38Mio 200000 > > Windows XP SP3 hatte mit ca. 73k Dateien keine Probleme (konnte auch nicht > rausfinden wie hoch da das OFH ist) > > > Auszug aus der Fehlermeldung: > > java.io.FileNotFoundException: /root/BaseXData/DeepFS/tbli.basex (Too many > open files) > at java.io.FileOutputStream.open(Native Method) > at java.io.FileOutputStream.<init>(FileOutputStream.java:209) > at java.io.FileOutputStream.<init>(FileOutputStream.java:160) > at org.basex.io.DataOutput.<init>(DataOutput.java:49) > at org.basex.io.DataOutput.<init>(DataOutput.java:38) > at org.basex.io.TableDiskAccess.flush(TableDiskAccess.java:77) > at org.basex.data.DiskData.flush(DiskData.java:122) > at org.basex.data.DiskData.cls(DiskData.java:134) > at org.basex.data.Data.close(Data.java:128) > at org.basex.core.proc.Close.close(Close.java:46) > at org.basex.core.proc.Close.run(Close.java:29) > at org.basex.core.Proc.run(Proc.java:139) > at org.basex.core.Proc.run(Proc.java:163) > at org.basex.core.proc.Open.run(Open.java:30) > at org.basex.core.Proc.run(Proc.java:139) > at org.basex.core.Proc.run(Proc.java:163) > at org.basex.core.proc.CreateFS.run(CreateFS.java:54) > at org.basex.core.Proc.run(Proc.java:139) > at org.basex.core.Proc.exec(Proc.java:109) > at org.basex.core.Proc.exec(Proc.java:123) > at org.basex.gui.GUICommands$49.run(GUICommands.java:931) > /root/.basexwin could not be written. > >
AH
Alexander Holupirek1 Jul 2010 21:19 #
... just for the records: Bastian resolved the issue.
Bastian Lemke <bastian.lemke at uni-konstanz.de>
[basex-commits] r2272: bugfix: under certain circumstances, files are not closed after metadata extraction
Quoted text · Christian Grün · 77 lines
On 17.06.2010, at 16:25, Christian Grün wrote: > Hallo Markus, > > im aktuellen DeepFS-Code kenne ich mich nicht bis ins Detail aus. Ich > leite Deine Mail mal an Bastian L. und Alex weiter; vielleicht haben > sie ein paar Ideen? > > Grüße, > Christian > ___________________________ > > 2010/6/17 Markus Roth <markus.roth at uni-konstanz.de>: >> Hallo Christian, >> >> ich bin derzeit ein wenig am Rumspielen mit DeepFS und es tritt >> kontinuierlich ein Fehler auf (immer zum gleichen Zeitpunkt): too many open >> files. >> Wenn ich das Limit für offene file handles hochsetze per ulimit -n (standard >> in der bash sind 1024), dann kommt der Fehler später, aber trotzdem. >> Siehe dazu weiter unten. >> Warum sollte baseX aber so viele offene file handles haben? Mit dem >> Lesen/Schreiben zusammen sollten es ja nicht so arg viele sein. Oder werden >> u.U. (da die Traversierungs-Fkt. wohl rekursiv sein dürfte) je nach Tiefe >> des aktuellen Pfades die Ascendants offen gelassen? Da der Fehler in der >> Konsole mehrfach ausgegeben wird bis zum Abbruch: gibt es mehrere parallele >> "crawler"/Indexer? >> Inwiefern die Volltext-Indexierung bzw. inkludieren der Textdaten Einfluß >> hat habe ich noch nicht betrachtet (also die folgenden Daten/Fehler sind mit >> den Standardvoreinstellungen von DeepFS OHNE Volltext-Indexierung und >> Inklusion von Text entstanden). >> >> >> Gruß, >> Markus >> >> >> Linux (CentOS 5.4 final) || basex 6.1 & 6.1.5 -> too many open files >> ca. 115k Dateien >> XML-Nodes: ulimit: >> 1,74Mio 1024 >> 1,75Mio 2048 >> 1,77Mio 4096 >> 1,91Mio 16384 >> 3,38Mio 200000 >> >> Windows XP SP3 hatte mit ca. 73k Dateien keine Probleme (konnte auch nicht >> rausfinden wie hoch da das OFH ist) >> >> >> Auszug aus der Fehlermeldung: >> >> java.io.FileNotFoundException: /root/BaseXData/DeepFS/tbli.basex (Too many >> open files) >> at java.io.FileOutputStream.open(Native Method) >> at java.io.FileOutputStream.<init>(FileOutputStream.java:209) >> at java.io.FileOutputStream.<init>(FileOutputStream.java:160) >> at org.basex.io.DataOutput.<init>(DataOutput.java:49) >> at org.basex.io.DataOutput.<init>(DataOutput.java:38) >> at org.basex.io.TableDiskAccess.flush(TableDiskAccess.java:77) >> at org.basex.data.DiskData.flush(DiskData.java:122) >> at org.basex.data.DiskData.cls(DiskData.java:134) >> at org.basex.data.Data.close(Data.java:128) >> at org.basex.core.proc.Close.close(Close.java:46) >> at org.basex.core.proc.Close.run(Close.java:29) >> at org.basex.core.Proc.run(Proc.java:139) >> at org.basex.core.Proc.run(Proc.java:163) >> at org.basex.core.proc.Open.run(Open.java:30) >> at org.basex.core.Proc.run(Proc.java:139) >> at org.basex.core.Proc.run(Proc.java:163) >> at org.basex.core.proc.CreateFS.run(CreateFS.java:54) >> at org.basex.core.Proc.run(Proc.java:139) >> at org.basex.core.Proc.exec(Proc.java:109) >> at org.basex.core.Proc.exec(Proc.java:123) >> at org.basex.gui.GUICommands$49.run(GUICommands.java:931) >> /root/.basexwin could not be written. >> >>
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Alexander Holupirek
Dettinger Strasse 22
78467 Konstanz
07531 - 454 98 60
0176 - 600 25 949
Written for BaseX 6. BaseX may have changed since: please check the current documentation.
⚡Generated with XQuery