From e7705964d5f4e1eace34bb957089628f9c8f3fdb Mon Sep 17 00:00:00 2001 From: vitor-aignosi Date: Fri, 27 Mar 2026 14:09:48 -0300 Subject: [PATCH 1/3] SIENTIAPDE-1712 Fix error model retrieval in notification_generator.ipynb and add on_conflict parameter to common_config in orchestrator_functions.py for improved error handling. --- notification_generator.ipynb | 2 +- orchestrator/utils/orchestrator_functions.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/notification_generator.ipynb b/notification_generator.ipynb index 8d24f92..6f8b7a4 100644 --- a/notification_generator.ipynb +++ b/notification_generator.ipynb @@ -151,7 +151,7 @@ } ], "source": [ - "error_models = general_events.get('ERROR', {}).get('models', [])\n", + "error_models = general_events.get('ERROR', {}).get('', [])\n", "warning_models = general_events.get('WARNING', {}).get('models', [])\n", "info_models = general_events.get('INFO', {}).get('models', [])\n", "mail_type = 'Alerts'\n", diff --git a/orchestrator/utils/orchestrator_functions.py b/orchestrator/utils/orchestrator_functions.py index 0e6ad32..ba8867b 100644 --- a/orchestrator/utils/orchestrator_functions.py +++ b/orchestrator/utils/orchestrator_functions.py @@ -38,6 +38,7 @@ def common_config(config: dict[str, Any]): 'model_config': model.get('model_config', {}), 'execution_timeout_seconds': config.get('execution_timeout_seconds', 300), 'task_timeout_seconds': config.get('task_timeout_seconds', 300), + 'on_conflict': config.get('on_conflict', 'error'), } From c4f221438b0b4fe54965b4aec1659f8be5d1c71b Mon Sep 17 00:00:00 2001 From: vitor-aignosi Date: Fri, 27 Mar 2026 14:53:55 -0300 Subject: [PATCH 2/3] SIENTIAPDE-1712 Update GITHUB_BRANCH in values.yaml to fix/SIENTIAPDE-1712 for alignment with the latest bug fix efforts. --- values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/values.yaml b/values.yaml index d9d40bb..51ccce4 100644 --- a/values.yaml +++ b/values.yaml @@ -164,7 +164,7 @@ env: - name: GITHUB_REPO_URL value: "git@github.com:Aignosi/sientia-dataops-orchestrator_temporal.git" - name: GITHUB_BRANCH - value: "feature/SIENTIAPDE-1478" + value: "fix/SIENTIAPDE-1712" - name: PYTHON_APP value: "orchestrator.worker.worker" From 4d5231ca16accfd26bb6ba0b7ac1c8d80b80ba2e Mon Sep 17 00:00:00 2001 From: vitor-aignosi Date: Wed, 1 Apr 2026 13:53:53 -0300 Subject: [PATCH 3/3] SIENTIAPDE-1712 Add 'on_conflict' parameter to multiple test cases in test_orchestrator_functions.py for improved error handling consistency. --- .../orchestrator/utils/test_orchestrator_functions.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/orchestrator/utils/test_orchestrator_functions.py b/tests/orchestrator/utils/test_orchestrator_functions.py index a349a19..8fe8422 100644 --- a/tests/orchestrator/utils/test_orchestrator_functions.py +++ b/tests/orchestrator/utils/test_orchestrator_functions.py @@ -33,6 +33,7 @@ def test_common_config(): 'model_id': 'test_model_id', 'model_name': 'test_model_name', 'model_config': {'test_config': 'test_config'}, + 'on_conflict': 'error', 'execution_timeout_seconds': 300, 'task_timeout_seconds': 300, } @@ -58,6 +59,7 @@ def test_drift(): 'model_id': 'test_model_id', 'model_name': 'test_model_name', 'model_config': {'test_config': 'test_config'}, + 'on_conflict': 'error', 'schema': 'sientia_data', 'source_table_name': 'laborious_data', 'target_table_name': 'drift_metrics', @@ -88,6 +90,7 @@ def test_simple_metrics(): 'model_id': 'test_model_id', 'model_name': 'test_model_name', 'model_config': {'test_config': 'test_config'}, + 'on_conflict': 'error', 'schema': 'sientia_data', 'predictions_table_name': 'predictions', 'data_table_name': 'laborious_data', @@ -119,6 +122,7 @@ def test_minimal_retrain(): 'model_id': 'test_model_id', 'model_name': 'test_model_name', 'model_config': {'test_config': 'test_config'}, + 'on_conflict': 'error', 'query': 'select * from sientia_data.laborious_data order by "timestamp" desc limit 30;', 'schema': 'sientia_data', 'table_name': 'log_retrain', @@ -153,6 +157,7 @@ def test_scouter(): 'model_id': 'test_model_id', 'model_name': 'test_model_name', 'model_config': {'test_config': 'test_config'}, + 'on_conflict': 'error', 'topic': 'raw_test_schedule', 'trigger_laborious': False, 'filters': {'test_filter_name': {'policy': 'test_policy'}}, @@ -254,6 +259,7 @@ def test_predictions_batch(mock_process_path_priority, mock_overlap_filter_confi 'model_id': 'test_model_id', 'model_name': 'test_model_name', 'model_config': {'test_config': 'test_config'}, + 'on_conflict': 'error', 'query': 'test_query', 'schema': 'sientia_data', 'table_name': 'predictions', @@ -556,6 +562,7 @@ def test_base_scouter(): 'model_id': 'test_model_id', 'model_name': 'test_model_name', 'model_config': {'test_config': 'test_config'}, + 'on_conflict': 'error', 'trigger_laborious': False, 'filters': { 'test_filter_name': {'policy': 'test_policy'}, @@ -605,6 +612,7 @@ def test_pi_web_api_scouter(): 'model_id': 'test_model_id', 'model_name': 'test_model_name', 'model_config': {'test_config': 'test_config'}, + 'on_conflict': 'error', 'trigger_laborious': False, 'filters': {'test_filter_name': {'policy': 'test_policy'}}, 'schema': 'sientia_data', @@ -660,6 +668,7 @@ def test_pi_web_api_scouter_with_timeout_greater_than_frequency(): 'model_id': 'test_model_id', 'model_name': 'test_model_name', 'model_config': {'test_config': 'test_config'}, + 'on_conflict': 'error', 'trigger_laborious': False, 'filters': {}, 'schema': 'sientia_data', @@ -710,6 +719,7 @@ def test_pi_web_api_scouter_with_no_timeout(): 'model_id': 'test_model_id', 'model_name': 'test_model_name', 'model_config': {'test_config': 'test_config'}, + 'on_conflict': 'error', 'trigger_laborious': False, 'filters': {}, 'schema': 'sientia_data',