Skip to content

Commit 0d367d4

Browse files
committed
update for new field on state obj
1 parent 159acbd commit 0d367d4

4 files changed

Lines changed: 19 additions & 41 deletions

File tree

js_modules/dagster-ui/packages/ui-core/src/graphql/schema.graphql

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

js_modules/dagster-ui/packages/ui-core/src/graphql/types.ts

Lines changed: 5 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

python_modules/dagster-graphql/dagster_graphql/schema/asset_health.py

Lines changed: 7 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import asyncio
2-
from typing import Optional
32

43
import graphene
54
from dagster._core.definitions.asset_health.asset_check_health import (
@@ -23,7 +22,6 @@
2322
AssetHealthMaterializationMetadata,
2423
get_materialization_status_and_metadata,
2524
)
26-
from dagster._core.storage.event_log.base import AssetRecord
2725

2826
from dagster_graphql.schema.entity_key import GrapheneAssetKey
2927
from dagster_graphql.schema.util import ResolveInfo
@@ -94,37 +92,11 @@ class GrapheneAssetHealthMaterializationDegradedPartitionedMeta(graphene.ObjectT
9492
numMissingPartitions = graphene.NonNull(graphene.Int)
9593
totalNumPartitions = graphene.NonNull(graphene.Int)
9694
latestRunId = graphene.String()
97-
failedRunId = graphene.String()
95+
latestFailedRunId = graphene.String()
9896

9997
class Meta:
10098
name = "AssetHealthMaterializationDegradedPartitionedMeta"
10199

102-
def __init__(
103-
self,
104-
asset_key: GrapheneAssetKey,
105-
num_failed_partitions: int,
106-
num_missing_partitions: int,
107-
total_num_partitions: int,
108-
latest_run_id: str,
109-
):
110-
super().__init__()
111-
self._asset_key = asset_key
112-
self.numFailedPartitions = num_failed_partitions
113-
self.numMissingPartitions = num_missing_partitions
114-
self.totalNumPartitions = total_num_partitions
115-
self.latestRunId = latest_run_id
116-
117-
async def resolve_failedRunId(self, graphene_info: ResolveInfo) -> Optional[str]:
118-
# The latest failed run for a degraded partitioned asset may not be the most recent run that
119-
# attempted to materialize the asset. The failed partitions could be in a historical run
120-
asset_record = await AssetRecord.gen(graphene_info.context, self._asset_key)
121-
if (
122-
asset_record is not None
123-
and asset_record.asset_entry.last_failed_to_materialize_record is not None
124-
):
125-
return asset_record.asset_entry.last_failed_to_materialize_record.run_id
126-
return None
127-
128100

129101
class GrapheneAssetHealthMaterializationHealthyPartitionedMeta(graphene.ObjectType):
130102
numMissingPartitions = graphene.NonNull(graphene.Int)
@@ -158,7 +130,7 @@ def from_metadata_class(
158130
) -> "GrapheneAssetHealthMaterializationMeta":
159131
if isinstance(metadata, AssetHealthMaterializationDegradedNotPartitionedMeta):
160132
return GrapheneAssetHealthMaterializationDegradedNotPartitionedMeta(
161-
failedRunId=metadata.failed_run_id
133+
failedRunId=metadata.latest_failed_to_materialize_run_id,
162134
)
163135
elif isinstance(metadata, AssetHealthMaterializationHealthyPartitionedMeta):
164136
return GrapheneAssetHealthMaterializationHealthyPartitionedMeta(
@@ -168,11 +140,11 @@ def from_metadata_class(
168140
)
169141
elif isinstance(metadata, AssetHealthMaterializationDegradedPartitionedMeta):
170142
return GrapheneAssetHealthMaterializationDegradedPartitionedMeta(
171-
asset_key=asset_key,
172-
num_failed_partitions=metadata.num_failed_partitions,
173-
num_missing_partitions=metadata.num_missing_partitions,
174-
total_num_partitions=metadata.total_num_partitions,
175-
latest_run_id=metadata.latest_run_id,
143+
numFailedPartitions=metadata.num_failed_partitions,
144+
numMissingPartitions=metadata.num_missing_partitions,
145+
totalNumPartitions=metadata.total_num_partitions,
146+
latestRunId=metadata.latest_run_id,
147+
latestFailedRunId=metadata.latest_failed_to_materialize_run_id,
176148
)
177149
else:
178150
raise ValueError(f"Unknown metadata class: {type(metadata)}")

python_modules/dagster/dagster/_core/definitions/asset_health/asset_materialization_health.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -332,6 +332,7 @@ class AssetHealthMaterializationDegradedPartitionedMeta:
332332
num_missing_partitions: int
333333
total_num_partitions: int
334334
latest_run_id: Optional[str]
335+
latest_failed_to_materialize_run_id: Optional[str]
335336

336337

337338
@whitelist_for_serdes
@@ -340,12 +341,13 @@ class AssetHealthMaterializationHealthyPartitionedMeta:
340341
num_missing_partitions: int
341342
total_num_partitions: int
342343
latest_run_id: Optional[str]
344+
latest_failed_to_materialize_run_id: Optional[str]
343345

344346

345347
@whitelist_for_serdes
346348
@record.record
347349
class AssetHealthMaterializationDegradedNotPartitionedMeta:
348-
failed_run_id: Optional[str]
350+
latest_failed_to_materialize_run_id: Optional[str]
349351

350352

351353
AssetHealthMaterializationMetadata = Union[
@@ -442,6 +444,7 @@ async def get_materialization_status_and_metadata(
442444
num_missing_partitions=num_missing,
443445
total_num_partitions=total_num_partitions,
444446
latest_run_id=asset_materialization_health_state.latest_terminal_run_id,
447+
latest_failed_to_materialize_run_id=asset_materialization_health_state.latest_failed_to_materialize_run_id,
445448
)
446449
else:
447450
# captures the case when asset is not partitioned, or the asset is partitioned and all partitions are materialized
@@ -463,10 +466,11 @@ async def get_materialization_status_and_metadata(
463466
num_missing_partitions=num_missing,
464467
total_num_partitions=total_num_partitions,
465468
latest_run_id=asset_materialization_health_state.latest_terminal_run_id,
469+
latest_failed_to_materialize_run_id=asset_materialization_health_state.latest_failed_to_materialize_run_id,
466470
)
467471
else:
468472
meta = AssetHealthMaterializationDegradedNotPartitionedMeta(
469-
failed_run_id=asset_materialization_health_state.latest_terminal_run_id,
473+
latest_failed_to_materialize_run_id=asset_materialization_health_state.latest_failed_to_materialize_run_id,
470474
)
471475
return AssetHealthStatus.DEGRADED, meta
472476
elif asset_materialization_health_state.health_status == AssetHealthStatus.UNKNOWN:

0 commit comments

Comments
 (0)