Open bossie opened 8 months ago
To reproduce:
connection = openeo.connect("openeo.vito.be").authenticate_basic("???", "!!!")
data_cube = (connection.load_collection("SENTINEL3_OLCI_L1B")
.filter_bands(["B02", "B17", "B19"])
.filter_bbox([2.59003, 51.069, 2.8949, 51.2206])
.filter_temporal(["2018-08-06T00:00:00Z", "2018-08-06T00:00:00Z"])
.reduce_dimension("t", reducer="mean"))
udf = """
from openeo.udf import XarrayDataCube
def apply_datacube(cube: XarrayDataCube, context: dict) -> XarrayDataCube:
raise Exception("intentionally failing a SHub batch job")
"""
udf = textwrap.dedent(udf)
udf = openeo.UDF(udf, runtime="Python", data={"from_parameter": "x"})
data_cube = data_cube.apply(process=udf)
data_cube.execute_batch("/tmp/test_fail_but_report_shub_pus_batch.tif",
title="test_fail_but_report_shub_pus failing UDF",
job_options={"logging-threshold": "debug"})
related to internal ticket MKTP-286
The /resources endpoint of the ETL API accepts a
state
property, which in the case of YARN corresponds to the job's "state" and astatus
property, which corresponds to the job's "final state/status".As far as the ETL API is concerned,
state
is actually used whereasstatus
is just for reporting.Jobs like these will report a
state
of FINISHED, even though they failed, as indicated by their final state:The result seems to be that the job's resources are logged as successful instead of failed, but I'm not sure what the implications are.
Job tracker logs:
Corresponding ETL API records: