11import asyncio
2- from typing import Optional
32
43import graphene
54from dagster ._core .definitions .asset_health .asset_check_health import (
2322 AssetHealthMaterializationMetadata ,
2423 get_materialization_status_and_metadata ,
2524)
26- from dagster ._core .storage .event_log .base import AssetRecord
2725
2826from dagster_graphql .schema .entity_key import GrapheneAssetKey
2927from 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
129101class 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 )} " )
0 commit comments