Re: [Talk-de] Pbf > 4 Gig Java - Problem schon irgendwo gelöst?

2011-05-01 Diskussionsfäden Carsten Moeller

Am 01.05.2011 22:45, schrieb Chris66:

Am 01.05.2011 22:13, schrieb Carsten Moeller:

Am 01.05.2011 22:08, schrieb Henning Scholland:

Ist in osmosis 0.39 gefixt.


Bevor ich jetzt mein SVN bemuehen muss...
Eine Idee, was der Grund war?


Es wurde die 'available' Funktion benutzt, die unter Windows bei
Dateigrößen ab 4 GB anscheinend anders als unter Linux arbeitet.

*int* available()

Returns an *estimate* of the number of bytes that can be read (or
skipped over) from this input stream without blocking by the next
invocation of a method for this input stream.

Fettung von mir (soll verdeutlichen, dass man diese Funktion
bei großen Dateien lieber meiden sollte).

Chris


Vielen Dank, Chris.
Ja ja, ..., available() ... ein guter, böser alter Bekannter ;-)
Hab's auch gerade herausgefunden und gleich eingecheckt.
Jetzt läuft mein Europa ... Gerade bei Knoten Nr. 300 Mio.
... 180 kommen noch. Mal schauen ...

Hier nochmal der Patch:

Index: BlockInputStream.java
===
--- BlockInputStream.java   (revision 1065)
+++ BlockInputStream.java   (working copy)
@@ -17,6 +17,7 @@

 package crosby.binary.file;

+import java.io.EOFException;
 import java.io.IOException;
 import java.io.InputStream;

@@ -28,10 +29,13 @@
 }

 public void process() throws IOException {
-while (input.available() > 0) {
-FileBlock.process(input, adaptor);
+  try {
+while (true) {
+  FileBlock.process(input, adaptor);
 }
+  } catch (EOFException e) {
 adaptor.complete();
+  }
 }

 public void close() throws IOException {



___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Pbf > 4 Gig Java - Problem schon irgendwo gelöst?

2011-05-01 Diskussionsfäden Chris66
Am 01.05.2011 22:13, schrieb Carsten Moeller:
> Am 01.05.2011 22:08, schrieb Henning Scholland:
>> Ist in osmosis 0.39 gefixt.
> 
> Bevor ich jetzt mein SVN bemuehen muss...
> Eine Idee, was der Grund war?

Es wurde die 'available' Funktion benutzt, die unter Windows bei
Dateigrößen ab 4 GB anscheinend anders als unter Linux arbeitet.

*int* available()

Returns an *estimate* of the number of bytes that can be read (or
skipped over) from this input stream without blocking by the next
invocation of a method for this input stream.

Fettung von mir (soll verdeutlichen, dass man diese Funktion
bei großen Dateien lieber meiden sollte).

Chris


___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Pbf > 4 Gig Java - Problem schon irgendwo gelöst?

2011-05-01 Diskussionsfäden Carsten Moeller

Am 01.05.2011 22:08, schrieb Henning Scholland:

Ist in osmosis 0.39 gefixt.


Bevor ich jetzt mein SVN bemuehen muss...
Eine Idee, was der Grund war?

Gruß,

Carsten


___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Pbf > 4 Gig Java - Problem schon irgendwo gelöst?

2011-05-01 Diskussionsfäden Henning Scholland

Ist in osmosis 0.39 gefixt.


___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


[Talk-de] Pbf > 4 Gig Java - Problem schon irgendwo gelöst?

2011-05-01 Diskussionsfäden Carsten Moeller

Hallo Tekkis,

hat sich da seit Dezember schon irgendwo eine Lösung des Problems 
ergeben? Hab das nämlich gerade selbst bei der aktuellen europe.osm.pbf. 
Knickt einfach nach ein paar zu viel Knoten ein.

Einfach so. Ohne Fehlermeldung.
Keine Ways, keine Relationen.

Umgebung: Windows XP. Original-Sourcen von crosby.binary...
Projekt : Eigenbau.

Kleinere Dateien z.B. germany.osm.pbf kein Problem.

Gruß, Carsten.


___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de