RowSpaceExceededException alloc > Integer.MAX_VALUE

Forum for developers

RowSpaceExceededException alloc > Integer.MAX_VALUE

Beitragvon sixcooler » Do Aug 11, 2011 9:23 pm

Hallo,

heute verabschiedete sich ein blob-merge-job in folgender Weise:
Code: Alles auswählen
E 2011/08/11 19:55:13 ReferenceIterator lost entry '[B@6e6497d8' because of too low memory: net.yacy.kelondro.index.RowSpaceExceededException: -1155734888 bytes needed for importRowSet: alloc > Integer.MAX_VALUE: 785397216 free at Thu Aug 11 19:55:13 CEST 2011
E 2011/08/11 19:55:19 HeapReader out of memory in LookAheadIterator.next0
java.lang.OutOfMemoryError: Java heap space
   at net.yacy.kelondro.blob.HeapReader$entries.next0(HeapReader.java:717)
   at net.yacy.kelondro.blob.HeapReader$entries.next0(HeapReader.java:655)
   at net.yacy.kelondro.util.LookAheadIterator.next(LookAheadIterator.java:71)
   at net.yacy.kelondro.rwi.ReferenceIterator.next0(ReferenceIterator.java:63)
   at net.yacy.kelondro.rwi.ReferenceIterator.next0(ReferenceIterator.java:43)
   at net.yacy.kelondro.util.LookAheadIterator.next(LookAheadIterator.java:71)
   at net.yacy.kelondro.blob.ArrayStack.merge(ArrayStack.java:1025)
   at net.yacy.kelondro.blob.ArrayStack.mergeWorker(ArrayStack.java:924)
   at net.yacy.kelondro.blob.ArrayStack.mergeMount(ArrayStack.java:871)
   at net.yacy.kelondro.rwi.IODispatcher$MergeJob.merge(IODispatcher.java:267)
   at net.yacy.kelondro.rwi.IODispatcher$MergeJob.access$300(IODispatcher.java:239)
   at net.yacy.kelondro.rwi.IODispatcher.run(IODispatcher.java:180)

Bei einem der betroffenen blobs scheint also etwas faul zu sein, was doof, aber wohl nicht zu ändern ist.
Der Fehler wird 'übergangen' und im Folgedurchlauf von ReferenceIterator.next0(ReferenceIterator.java:63) scheint HeapReader$entries.next0(HeapReader.java:717) evtl. eine fälschlich riesige Länge das Payloads auszulesen.

Da HeapReader$entries.next0(HeapReader.java:717) in diesem Fall keine Exception sondern Null zurückgibt, sollte man das nicht zum Enden des Iterator nutzen?

Auf die Weise dürfte wenigstens das Blob bis zu Fehler brauchbar sein.

cu, sixcooler.
sixcooler
 
Beiträge: 494
Registriert: Do Aug 14, 2008 5:22 pm

Zurück zu YaCy Coding & Architecture

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast