Vinnie
03/02/2023, 4:33 PMDynamicPartitions
relating to the Dagster instance. Stacktrace and minimal code example in thread.
Essentially, it seems to me like Dagster can’t reach the instance when trying to materialize configurable assets outside of a job. This behavior is consistent both with `multi_asset`s and `asset`s (graph-backed or not), and I tested both the new Config
API as well as the old config_schema
parameter.Vinnie
03/02/2023, 4:39 PMdagster._core.errors.PartitionExecutionError: Error occurred during the execution of the partition generation function for partitioned config on job '__ASSET_JOB_0'
File "/.venv/lib/python3.9/site-packages/dagster/_grpc/impl.py", line 375, in get_partition_names
return ExternalPartitionNamesData(
File "/Users/vinicius/.pyenv/versions/3.9.9/lib/python3.9/contextlib.py", line 137, in __exit__
self.gen.throw(typ, value, traceback)
File "/.venv/lib/python3.9/site-packages/dagster/_core/errors.py", line 213, in user_code_error_boundary
raise error_cls(
The above exception was caused by the following exception:
dagster._check.CheckError: Failure condition: The instance is not available to load partitions. You may be seeing this error when using dynamic partitions with a version of dagit or dagster-cloud that is older than 1.1.18.
File "/.venv/lib/python3.9/site-packages/dagster/_core/errors.py", line 206, in user_code_error_boundary
yield
File "/.venv/lib/python3.9/site-packages/dagster/_grpc/impl.py", line 376, in get_partition_names
partition_names=partition_set_def.get_partition_names()
File "/.venv/lib/python3.9/site-packages/dagster/_core/definitions/partition.py", line 897, in get_partition_names
return [part.name for part in self.get_partitions(current_time, dynamic_partitions_store)]
File "/.venv/lib/python3.9/site-packages/dagster/_core/definitions/partition.py", line 879, in get_partitions
return self._partitions_def.get_partitions(
File "/.venv/lib/python3.9/site-packages/dagster/_core/definitions/partition.py", line 673, in get_partitions
check.failed(
File "/.venv/lib/python3.9/site-packages/dagster/_check/__init__.py", line 1699, in failed
raise CheckError(f"Failure condition: {desc}")
Minimal implementation:
@asset(
partitions_def=DynamicPartitionsDefinition(name="foo"),
config_schema={"some_config": str},
)
def my_partitioned_asset(context):
return context.partition_key
@multi_asset(
outs={"asset_1": AssetOut(), "asset_2": AssetOut()},
config_schema={"some_config": str},
partitions_def=DynamicPartitionsDefinition(name="foo"),
)
def my_multi_asset(context):
yield Output(value=context.partition_key, output_name="asset_1")
yield Output(value=context.partition_key, output_name="asset_2")
defs = Definitions(
assets=[my_partitioned_asset, my_multi_asset],
jobs=[
define_asset_job("multi_asset_job", selection=[my_multi_asset]),
define_asset_job("asset_job", selection=[my_partitioned_asset]),
],
)
sandy
03/02/2023, 4:56 PMdagster._check.CheckError: Failure condition: The instance is not available to load partitions. You may be seeing this error when using dynamic partitions with a version of dagit or dagster-cloud that is older than 1.1.18.
Vinnie
03/02/2023, 4:58 PMVinnie
03/03/2023, 11:08 AMDefinitions
object has a dynamically partitioned asset; I tested a few more cases and this error happens even if the underlying asset I’m attempting to input configs for is not partitioned. If I launch the run with preconfigured defaults (e.g. by going the route @graph(config=config)
before transforming the graph into an AssetsDefinition
), the run can be launched just fine, but errors when shift-clicking the “Materialize” button.Charlie Bini
03/03/2023, 5:26 PMsandy
03/03/2023, 5:30 PMCharlie Bini
03/03/2023, 5:31 PMCharlie Bini
03/03/2023, 5:31 PMclaire
03/03/2023, 5:38 PMclaire
03/06/2023, 10:55 PMJulius
04/04/2023, 8:51 AMinstance = DagsterInstance.get()
instance.add_dynamic_partitions("fivetran_prod_test_connection_test_03", ["init_load"])
And when I shift+click Materialize
to add the configuration and got this error:
dagster._core.errors.PartitionExecutionError: Error occurred during the execution of the partition generation function for partitioned config on job '__ASSET_JOB_0'
File "C:\Users\nkduy3\AppData\Local\Programs\Python\Python39\lib\site-packages\dagster\_grpc\impl.py", line 375, in get_partition_names
return ExternalPartitionNamesData(
File "C:\Users\nkduy3\AppData\Local\Programs\Python\Python39\lib\contextlib.py", line 137, in __exit__
self.gen.throw(typ, value, traceback)
File "C:\Users\nkduy3\AppData\Local\Programs\Python\Python39\lib\site-packages\dagster\_core\errors.py", line 213, in user_code_error_boundary
raise error_cls(
The above exception was caused by the following exception:
dagster._check.CheckError: Failure condition: The instance is not available to load partitions. You may be seeing this error when using dynamic partitions with a version of dagit or dagster-cloud that is older than 1.1.18.
File "C:\Users\nkduy3\AppData\Local\Programs\Python\Python39\lib\site-packages\dagster\_core\errors.py", line 206, in user_code_error_boundary
yield
File "C:\Users\nkduy3\AppData\Local\Programs\Python\Python39\lib\site-packages\dagster\_grpc\impl.py", line 376, in get_partition_names
partition_names=partition_set_def.get_partition_names()
File "C:\Users\nkduy3\AppData\Local\Programs\Python\Python39\lib\site-packages\dagster\_core\definitions\partition.py", line 888, in get_partition_names
return [part.name for part in self.get_partitions(current_time, dynamic_partitions_store)]
File "C:\Users\nkduy3\AppData\Local\Programs\Python\Python39\lib\site-packages\dagster\_core\definitions\partition.py", line 869, in get_partitions
return self._partitions_def.get_partitions(
File "C:\Users\nkduy3\AppData\Local\Programs\Python\Python39\lib\site-packages\dagster\_core\definitions\partition.py", line 690, in get_partitions
check.failed(
File "C:\Users\nkduy3\AppData\Local\Programs\Python\Python39\lib\site-packages\dagster\_check\__init__.py", line 1699, in failed
raise CheckError(f"Failure condition: {desc}")
I’m using version 1.2.1, and the job normally runs when triggered by a sensor or when materializes using the default config.Vinnie
04/04/2023, 8:51 AMJulius
04/04/2023, 8:52 AM