CeleryK8sRunLauncher supports termination of pipeline runs. This can be accessed via the
“Terminate” button in Dagit’s Pipeline Run view or via “Cancel” in Dagit’s All Runs page. This
will terminate the run master K8s Job along with all running step job K8s Jobs; steps that are
still in the Celery queue will not create K8s Jobs. The pipeline and all impacted steps will
be marked as failed. We recommend implementing resources as context managers and we will execute
the finally block upon termination.
K8sRunLauncher supports termination of pipeline runs.
AssetMaterialization events display the asset key in the Runs view.
Added a new "Actions" button in Dagit to allow to cancel or delete mulitple runs.
Bugfixes
Fixed an issue where DagsterInstance was leaving database connections open due to not being
garbage collected.
Fixed an issue with fan-in inputs skipping when upstream solids have skipped.
Fixed an issue with getting results from composites with skippable outputs in python API.
Fixed an issue where using Enum in resource config schemas resulted in an error.
The new configured API makes it easy to create configured versions of resources.
Deprecated the Materialization event type in favor of the new AssetMaterialization event type,
which requires the asset_key parameter. Solids yielding Materialization events will continue
to work as before, though the Materialization event will be removed in a future release.
We are starting to deprecate "system storages" - instead of pipelines having a system storage
definition which creates an intermediate storage, pipelines now directly have an intermediate
storage definition.
We have added an intermediate_storage_defs argument to ModeDefinition, which accepts a
list of IntermediateStorageDefinitions, e.g. s3_plus_default_intermediate_storage_defs.
As before, the default includes an in-memory intermediate and a local filesystem intermediate
storage.
We have deprecated system_storage_defs argument to ModeDefinition in favor of
intermediate_storage_defs. system_storage_defs will be removed in 0.10.0 at the earliest.
We have added an @intermediate_storage decorator, which makes it easy to define intermediate
storages.
Loading python modules reliant on the working directory being on the PYTHONPATH is no longer
supported. The dagster and dagit CLI commands no longer add the working directory to the
PYTHONPATH when resolving modules, which may break some imports. Explicitly installed python
packages can be specified in workspaces using the python_package workspace yaml config option.
The python_module config option is deprecated and will be removed in a future release.
New
Dagit can be hosted on a sub-path by passing --path-prefix to the dagit CLI. #2073
The date_partition_range util function now accepts an optional inclusive boolean argument. By default, the function does not return include the partition for which the end time of the date range is greater than the current time. If inclusive=True, then the list of partitions returned will include the extra partition.
MultiDependency or fan-in inputs will now only cause the solid step to skip if all of the
fanned-in inputs upstream outputs were skipped
Bugfixes
Fixed accidental breaking change with input_hydration_config arguments
Fixed an issue with yaml merging (thanks @shasha79!)
Invoking alias on a solid output will produce a useful error message (thanks @iKintosh!)
Restored missing run pagination controls
Fixed error resolving partition-based schedules created via dagster schedule decorators (e.g. daily_schedule) for certain workspace.yaml formats
The dagster-celery module has been broken apart to manage dependencies more coherently. There
are now three modules: dagster-celery, dagster-celery-k8s, and dagster-celery-docker.
Related to above, the dagster-celery worker start command now takes a required -A parameter
which must point to the app.py file within the appropriate module. E.g if you are using the
celery_k8s_job_executor then you must use the -A dagster_celery_k8s.app option when using the
celery or dagster-celery cli tools. Similar for the celery_docker_executor:
-A dagster_celery_docker.app must be used.
Renamed the input_hydration_config and output_materialization_config decorators to
dagster_type_ and dagster_type_materializer respectively. Renamed DagsterType's
input_hydration_config and output_materialization_config arguments to loader and materializer respectively.
New
New pipeline scoped runs tab in Dagit
Add the following Dask Job Queue clusters: moab, sge, lsf, slurm, oar (thanks @DavidKatz-il!)
K8s resource-requirements for run coordinator pods can be specified using the dagster-k8s/ resource_requirements tag on pipeline definitions:
Engine and ExecutorConfig have been deleted in favor of Executor. Instead of the @executor decorator decorating a function that returns an ExecutorConfig it should now decorate a function that returns an Executor.
New
The python built-in dict can be used as an alias for Permissive() within a config schema declaration.
Use StringSource in the S3ComputeLogManager configuration schema to support using environment variables in the configuration (Thanks @mrdrprofuroboros!)
Improve Backfill CLI help text
Add options to spark_df_output_schema (Thanks @DavidKatz-il!)
Helm: Added support for overriding the PostgreSQL image/version used in the init container checks.
Update celery k8s helm chart to include liveness checks for celery workers and flower
Support step level retries to celery k8s executor
Bugfixes
Improve error message shown when a RepositoryDefinition returns objects that are not one of the allowed definition types (Thanks @sd2k!)
Show error message when $DAGSTER_HOME environment variable is not an absolute path (Thanks @AndersonReyes!)
Update default value for staging_prefix in the DatabricksPySparkStepLauncher configuration to be an absolute path (Thanks @sd2k!)
Improve error message shown when Databricks logs can't be retrieved (Thanks @sd2k!)
Fix errors in documentation fo input_hydration_config (Thanks @joeyfreund!)