-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Backfill retries #23679
Backfill retries #23679
Changes from all commits
5a50671
879e238
f2b36c3
564e1f1
c357233
e763339
f3c3bf5
d563ba6
cb2a20c
2323f92
f4eeb06
58456f5
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -20,6 +20,7 @@ | |
cancel_partition_backfill, | ||
create_and_launch_partition_backfill, | ||
resume_partition_backfill, | ||
retry_partition_backfill, | ||
) | ||
from dagster_graphql.implementation.execution.dynamic_partitions import ( | ||
add_dynamic_partition, | ||
|
@@ -350,7 +351,7 @@ def mutate(self, graphene_info: ResolveInfo, backfillId: str): | |
|
||
|
||
class GrapheneResumeBackfillMutation(graphene.Mutation): | ||
"""Retries a set of partition backfill runs.""" | ||
"""Resumes a set of partition backfill runs. Resuming a backfill will not retry any failed runs.""" | ||
|
||
Output = graphene.NonNull(GrapheneResumeBackfillResult) | ||
|
||
|
@@ -366,6 +367,31 @@ def mutate(self, graphene_info: ResolveInfo, backfillId: str): | |
return resume_partition_backfill(graphene_info, backfillId) | ||
|
||
|
||
class GrapheneReexecuteBackfillMutation(graphene.Mutation): | ||
"""Retries a set of partition backfill runs. Retrying a backfill will create a new backfill to retry any failed partitions.""" | ||
|
||
Output = graphene.NonNull(GrapheneLaunchBackfillResult) | ||
|
||
class Arguments: | ||
reexecutionParams = graphene.Argument(GrapheneReexecutionParams) | ||
|
||
class Meta: | ||
name = "RetryBackfillMutation" | ||
jamiedemaria marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
@capture_error | ||
@require_permission_check(Permissions.LAUNCH_PARTITION_BACKFILL) | ||
def mutate( | ||
self, | ||
graphene_info: ResolveInfo, | ||
reexecutionParams: GrapheneReexecutionParams, | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. i think it could make sense to make a backfill-specific version of GrapheneReexecutionParams that would take |
||
): | ||
return retry_partition_backfill( | ||
graphene_info, | ||
backfill_id=reexecutionParams["parentRunId"], | ||
strategy=reexecutionParams["strategy"], | ||
) | ||
|
||
|
||
class GrapheneAddDynamicPartitionMutation(graphene.Mutation): | ||
"""Adds a partition to a dynamic partition set.""" | ||
|
||
|
@@ -981,6 +1007,7 @@ class Meta: | |
reportRunlessAssetEvents = GrapheneReportRunlessAssetEventsMutation.Field() | ||
launchPartitionBackfill = GrapheneLaunchBackfillMutation.Field() | ||
resumePartitionBackfill = GrapheneResumeBackfillMutation.Field() | ||
reexecutePartitionBackfill = GrapheneReexecuteBackfillMutation.Field() | ||
cancelPartitionBackfill = GrapheneCancelBackfillMutation.Field() | ||
logTelemetry = GrapheneLogTelemetryMutation.Field() | ||
setNuxSeen = GrapheneSetNuxSeenMutation.Field() | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
might need to add a
GrapheneBackfillNotFound
output type. will look intoThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If backfills can only be retried from the UI hitting this seems unlikely?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah, the other backfill actions have this too, and i figured it doesn't hurt to have here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it'd be to make it more in line w the run re-execution types which have GrapheneRunNotFound as a potential return type. i dont think it's really that necessary here though