Skip to content

Commit

Permalink
Expose partition definition name (#12585)
Browse files Browse the repository at this point in the history
### Summary & Motivation

Exposing the partition definition name for the UI to use to create new
partitions for it.

### How I Tested These Changes
buildkite
  • Loading branch information
salazarm committed Feb 28, 2023
1 parent a6b91b3 commit 57830ae
Show file tree
Hide file tree
Showing 9 changed files with 39 additions and 1 deletion.
@@ -1,6 +1,7 @@
import {MockedResponse} from '@apollo/client/testing';

import {AssetNodeForGraphQueryFragment} from '../asset-graph/types/useAssetGraphData.types';
import {PartitionDefinitionType} from '../graphql/types';

import {LAUNCH_ASSET_CHOOSE_PARTITIONS_QUERY} from './LaunchAssetChoosePartitionsDialog';
import {LAUNCH_ASSET_LOADER_QUERY} from './LaunchAssetExecutionButton';
Expand Down Expand Up @@ -271,6 +272,8 @@ export const LaunchAssetLoaderAssetDailyWeeklyMock: MockedResponse<LaunchAssetLo
...ASSET_DAILY,
requiredResources: [],
partitionDefinition: {
name: 'Foo',
type: PartitionDefinitionType.TIME_WINDOW,
description: 'Daily, starting 2020-01-01 UTC.',
dimensionTypes: [{name: 'default', __typename: 'DimensionDefinitionType'}],
__typename: 'PartitionDefinition',
Expand All @@ -295,6 +298,8 @@ export const LaunchAssetLoaderAssetDailyWeeklyMock: MockedResponse<LaunchAssetLo
...ASSET_WEEKLY,
requiredResources: [],
partitionDefinition: {
name: 'Foo',
type: PartitionDefinitionType.TIME_WINDOW,
description: 'Weekly, starting 2020-01-01 UTC.',
dimensionTypes: [{name: 'default', __typename: 'DimensionDefinitionType'}],
__typename: 'PartitionDefinition',
Expand Down Expand Up @@ -336,6 +341,8 @@ export const LaunchAssetLoaderAssetDailyWeeklyRootsDifferentPartitioningMock: Mo
...ASSET_DAILY,
requiredResources: [],
partitionDefinition: {
name: 'Foo',
type: PartitionDefinitionType.TIME_WINDOW,
description: 'Daily, starting 2020-01-01 UTC.',
dimensionTypes: [{name: 'default', __typename: 'DimensionDefinitionType'}],
__typename: 'PartitionDefinition',
Expand All @@ -360,6 +367,8 @@ export const LaunchAssetLoaderAssetDailyWeeklyRootsDifferentPartitioningMock: Mo
...ASSET_WEEKLY,
requiredResources: [],
partitionDefinition: {
name: 'Foo',
type: PartitionDefinitionType.TIME_WINDOW,
description: 'Weekly, starting 2020-01-01 UTC.',
dimensionTypes: [{name: 'default', __typename: 'DimensionDefinitionType'}],
__typename: 'PartitionDefinition',
Expand Down Expand Up @@ -391,6 +400,8 @@ export const LaunchAssetLoaderAssetDailyWeeklyRootsDifferentPartitioningMock: Mo
...ASSET_WEEKLY_ROOT,
requiredResources: [],
partitionDefinition: {
name: 'Foo',
type: PartitionDefinitionType.TIME_WINDOW,
description: 'Weekly, starting 2020-01-01 UTC.',
dimensionTypes: [{name: 'default', __typename: 'DimensionDefinitionType'}],
__typename: 'PartitionDefinition',
Expand Down
Expand Up @@ -606,6 +606,8 @@ export const LAUNCH_ASSET_EXECUTION_ASSET_NODE_FRAGMENT = gql`
fragment PartitionDefinitionForLaunchAsset on PartitionDefinition {
description
type
name
dimensionTypes {
name
}
Expand Down
@@ -1,5 +1,6 @@
import {MockedResponse} from '@apollo/client/testing';

import {PartitionDefinitionType} from '../../graphql/types';
import {LAUNCH_ASSET_LOADER_QUERY} from '../LaunchAssetExecutionButton';
import {LaunchAssetLoaderQuery} from '../types/LaunchAssetExecutionButton.types';

Expand Down Expand Up @@ -37,6 +38,8 @@ export const ReleasesWorkspace_RAW = {
jobNames: ['__ASSET_JOB_0'],
graphName: null,
partitionDefinition: {
type: PartitionDefinitionType.DYNAMIC,
name: 'Foo',
__typename: 'PartitionDefinition' as const,
description: 'Dynamic partitions definition releases',
dimensionTypes: [
Expand Down Expand Up @@ -91,6 +94,8 @@ export const ReleasesWorkspace_RAW = {
jobNames: ['__ASSET_JOB_0'],
graphName: null,
partitionDefinition: {
type: PartitionDefinitionType.DYNAMIC,
name: 'Foo',
__typename: 'PartitionDefinition' as const,
description: 'Dynamic partitions definition releases',
dimensionTypes: [
Expand Down Expand Up @@ -145,6 +150,8 @@ export const ReleasesWorkspace_RAW = {
jobNames: ['__ASSET_JOB_0'],
graphName: null,
partitionDefinition: {
type: PartitionDefinitionType.DYNAMIC,
name: 'Foo',
__typename: 'PartitionDefinition' as const,
description: 'Dynamic partitions definition releases',
dimensionTypes: [
Expand Down Expand Up @@ -199,6 +206,8 @@ export const ReleasesWorkspace_RAW = {
jobNames: ['__ASSET_JOB_0'],
graphName: null,
partitionDefinition: {
type: PartitionDefinitionType.DYNAMIC,
name: 'Foo',
__typename: 'PartitionDefinition' as const,
description: 'Dynamic partitions definition releases',
dimensionTypes: [
Expand Down
Expand Up @@ -28,7 +28,7 @@ export const buildPartitionHealthMock = (
},
],
materializedPartitions: {
materializedPartitions: [],
materializedPartitions: ['test1'],
__typename: 'DefaultPartitions',
},
__typename: 'AssetNode',
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions js_modules/dagit/packages/core/src/graphql/schema.graphql

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions js_modules/dagit/packages/core/src/graphql/types.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Expand Up @@ -361,6 +361,7 @@ class GraphenePartitionDefinition(graphene.ObjectType):
type = graphene.NonNull(GraphenePartitionDefinitionType)
dimensionTypes = non_null_list(GrapheneDimensionDefinitionType)
timeWindowMetadata = graphene.Field(GrapheneTimePartitionsDefinitionMetadata)
name = graphene.Field(graphene.String)

class Meta:
name = "PartitionDefinition"
Expand All @@ -382,6 +383,9 @@ def _get_time_partitions_metadata(partition_def_data):
super().__init__(
description=str(partition_def_data.get_partitions_definition()),
type=GraphenePartitionDefinitionType.from_partition_def_data(partition_def_data),
name=partition_def_data.name
if isinstance(partition_def_data, ExternalDynamicPartitionsDefinitionData)
else None,
dimensionTypes=[
GrapheneDimensionDefinitionType(
name=dim.name,
Expand Down
Expand Up @@ -300,6 +300,7 @@
partitionKeys
}
partitionDefinition {
name
timeWindowMetadata {
startTime
startKey
Expand Down Expand Up @@ -922,6 +923,7 @@ def test_materialized_default_partitions(self, graphql_context):
len(result.data["assetNodes"][0]["materializedPartitions"]["unmaterializedPartitions"])
== 4
)
assert result.data["assetNodes"][0]["partitionDefinition"]["name"] is None

result = execute_dagster_graphql(
graphql_context,
Expand Down Expand Up @@ -1016,6 +1018,8 @@ def _get_materialized_partitions():
materialized_partitions = result.data["assetNodes"][0]["materializedPartitions"][
"materializedPartitions"
]
assert result.data["assetNodes"][0]["partitionDefinition"]["name"] == "foo"
assert result.data["assetNodes"][1]["partitionDefinition"]["name"] == "foo"
assert len(materialized_partitions) == 0
assert (
len(result.data["assetNodes"][0]["materializedPartitions"]["unmaterializedPartitions"])
Expand Down

0 comments on commit 57830ae

Please sign in to comment.