Open-EO/openeo-geotrellis-extensions

fix misleading error message

Offen

#650 geöffnet am 04.02.2026

 (0 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)Scala (5 Forks)auto 404
buggood first issue

Repository-Metriken

Stars
 (7 Sterne)
PR-Merge-Metriken
 (PR-Metriken ausstehend)

Beschreibung

This process graph:

{
  "process_graph": {
    "loadstac1": {
      "arguments": {
        "url": "https://www.planet.com/data/stac/tanager-core-imagery/agriculture/20250223_165538_00_4001/20250223_165538_00_4001.json"
      },
      "process_id": "load_stac"
    },
    "saveresult1": {
      "arguments": {
        "data": {
          "from_node": "loadstac1"
        },
        "format": "GTiff",
        "options": {}
      },
      "process_id": "save_result",
      "result": true
    }
  }
}             

fails with the following error:

py4j.protocol.Py4JJavaError: An error occurred while calling o2131.datacube_seq.
: java.io.IOException: Exception while reading RasterSource https://storage.googleapis.com/open-cogs/planet-stac/tanager1-release2-core-imagery/basic_beta_udm/20250223_165538_00_4001_basic_beta_udm.tif in collection https://www.planet.com/data/stac/tanager-core-imagery/agriculture/20250223_165538_00_4001/20250223_165538_00_4001.json. Detailed message: incorrect byte order. File does not exist: https:/storage.googleapis.com/open-cogs/planet-stac/tanager1-release2-core-imagery/basic_beta_udm/20250223_165538_00_4001_basic_beta_udm.tif.
	at org.openeo.geotrellis.layers.FileLayerProvider.determineCelltype(FileLayerProvider.scala:867)
	at org.openeo.geotrellis.layers.FileLayerProvider.readKeysToRasterSources(FileLayerProvider.scala:900)
	at org.openeo.geotrellis.layers.FileLayerProvider.prepareRasterRegions(FileLayerProvider.scala:1181)
	at org.openeo.geotrellis.layers.FileLayerProvider.readMultibandTileLayer(FileLayerProvider.scala:1154)
	at org.openeo.geotrellis.file.PyramidFactory.datacube(PyramidFactory.scala:175)
	at org.openeo.geotrellis.file.PyramidFactory.datacube_seq(PyramidFactory.scala:132)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:75)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:52)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)
	at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:374)
	at py4j.Gateway.invoke(Gateway.java:282)
	at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
	at py4j.commands.CallCommand.execute(CallCommand.java:79)
	at py4j.ClientServerConnection.waitForCommands(ClientServerConnection.java:184)
	at py4j.ClientServerConnection.run(ClientServerConnection.java:108)
	at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: geotrellis.raster.io.geotiff.reader.MalformedGeoTiffException: incorrect byte order
	at geotrellis.raster.io.geotiff.reader.GeoTiffInfo$.read(GeoTiffInfo.scala:132)
	at geotrellis.raster.io.geotiff.reader.GeoTiffReader$.readMultiband(GeoTiffReader.scala:211)
	at geotrellis.raster.geotiff.GeoTiffResampleRasterSource.$anonfun$tiff$1(GeoTiffResampleRasterSource.scala:45)
	at scala.Option.getOrElse(Option.scala:201)
	at geotrellis.raster.geotiff.GeoTiffResampleRasterSource.tiff$lzycompute(GeoTiffResampleRasterSource.scala:42)
	at geotrellis.raster.geotiff.GeoTiffResampleRasterSource.tiff(GeoTiffResampleRasterSource.scala:39)
	at geotrellis.raster.geotiff.GeoTiffResampleRasterSource.$anonfun$cellType$1(GeoTiffResampleRasterSource.scala:49)
	at scala.Option.getOrElse(Option.scala:201)
	at geotrellis.raster.geotiff.GeoTiffResampleRasterSource.cellType(GeoTiffResampleRasterSource.scala:49)
	at org.openeo.geotrellis.layers.BandCompositeRasterSource.$anonfun$cellType$1(BandCompositeRasterSource.scala:100)
	at scala.collection.immutable.List.map(List.scala:251)
	at cats.data.NonEmptyList.map(NonEmptyList.scala:109)
	at org.openeo.geotrellis.layers.BandCompositeRasterSource.cellType(BandCompositeRasterSource.scala:100)The asset in question is not a file on disk but it is treated as such.
	at org.openeo.geotrellis.layers.FileLayerProvider.determineCelltype(FileLayerProvider.scala:839)
	... 17 more

In particular, this part of the error message is misleading:

File does not exist: https:/storage.googleapis.com/open-cogs/planet-stac/tanager1-release2-core-imagery/basic_beta_udm/20250223_165538_00_4001_basic_beta_udm.tif

The asset in question is not a file on disk but it is treated as such. It leads to wrong conclusions by users and hinders root cause analysis (the actual cause is the "incorrect byte order").

Contributor Guide