Current implementation of Enceladus Spark jobs internally uses Atum's initialization and does not explicitly disable Atum's control measurement tracking, because it relies on the implied disable routine with Spark session being ended.
However, if one of these sparkjobs is ran from other code (library-like), Atum's disabling of the CM tracking is not called and Control framework tracking is already initialized. exception is raised.
To Reproduce
Steps to reproduce the behavior OR commands run:
run StandardizationJob.main() from other code more than once.
See error Control framework tracking is already initialized.
Expected behavior
Running sparkjobs multiple times from other code should work.
Additional context
If this way of using is to be supported, explicit spark.disableControlMeasuresTracking() for Atum must be called at the end of all Enceladus SparkJobs
Temporary Workaround
Until fixed and released, when using Enceladus spark jobs in this as-a-library fashion, one can explicitly call
Describe the ~bug~ problem
Current implementation of Enceladus Spark jobs internally uses Atum's initialization and does not explicitly disable Atum's control measurement tracking, because it relies on the implied disable routine with Spark session being ended.
However, if one of these sparkjobs is ran from other code (library-like), Atum's disabling of the CM tracking is not called and
Control framework tracking is already initialized.
exception is raised.To Reproduce
Steps to reproduce the behavior OR commands run:
StandardizationJob.main()
from other code more than once.Control framework tracking is already initialized.
Expected behavior
Running sparkjobs multiple times from other code should work.
Additional context
If this way of using is to be supported, explicit
spark.disableControlMeasuresTracking()
for Atum must be called at the end of all Enceladus SparkJobsTemporary Workaround
Until fixed and released, when using Enceladus spark jobs in this as-a-library fashion, one can explicitly call
between individual jobs.