From a604152f7ae970c72dd82e06f67f66d090784750 Mon Sep 17 00:00:00 2001 From: Ajay Mudgal Date: Wed, 26 Nov 2025 15:50:32 +0000 Subject: [PATCH 1/3] Fixing cloudwatch query empty result issue --- .../blue-green-link/cloudwatch-queries.tf | 41 +------------------ 1 file changed, 1 insertion(+), 40 deletions(-) diff --git a/infrastructure/stacks/blue-green-link/cloudwatch-queries.tf b/infrastructure/stacks/blue-green-link/cloudwatch-queries.tf index cf69c59cc..8e1309e04 100644 --- a/infrastructure/stacks/blue-green-link/cloudwatch-queries.tf +++ b/infrastructure/stacks/blue-green-link/cloudwatch-queries.tf @@ -4,7 +4,7 @@ // of the query definitions themselves, but can reduce immediate read // failures when the provider plans many resources concurrently. resource "time_sleep" "wait_for_propagation" { - create_duration = "5s" + create_duration = "45s" } resource "aws_cloudwatch_query_definition" "search_for_errors" { @@ -27,9 +27,6 @@ fields @timestamp, correlation_id, ods_code, function_name, message | sort @timestamp EOF - lifecycle { - create_before_destroy = false - } } resource "aws_cloudwatch_query_definition" "search_by_correlation_id" { @@ -52,9 +49,6 @@ fields @timestamp, message | sort @timestamp EOF - lifecycle { - create_before_destroy = false - } } resource "aws_cloudwatch_query_definition" "search_by_correlation_id_expanded" { @@ -77,9 +71,6 @@ fields @timestamp,correlation_id,ods_code,level,message_received,function_name, | sort @timestamp EOF - lifecycle { - create_before_destroy = false - } } resource "aws_cloudwatch_query_definition" "search_by_odscode" { @@ -102,9 +93,6 @@ fields @timestamp, message | sort @timestamp EOF - lifecycle { - create_before_destroy = false - } } resource "aws_cloudwatch_query_definition" "search_by_odscode_expanded" { @@ -127,9 +115,6 @@ fields @timestamp,correlation_id,ods_code,level,message_received,function_name, | sort @timestamp EOF - lifecycle { - create_before_destroy = false - } } resource "aws_cloudwatch_query_definition" "search_for_invalid_postcode" { @@ -146,9 +131,6 @@ fields @timestamp,correlation_id,ods_code,level,message_received,function_name, | sort @timestamp EOF - lifecycle { - create_before_destroy = false - } } resource "aws_cloudwatch_query_definition" "search_for_invalid_opening_times" { @@ -165,9 +147,6 @@ fields @timestamp,correlation_id,ods_code,level,message_received,function_name, | sort @timestamp EOF - lifecycle { - create_before_destroy = false - } } resource "aws_cloudwatch_query_definition" "search_by_email_correlation_id" { @@ -185,9 +164,6 @@ fields correlation_id | filter email_correlation_id == "ADD_EMAIL_CORRELATION_ID" EOF - lifecycle { - create_before_destroy = false - } } resource "aws_cloudwatch_query_definition" "search_by_update_request_success" { @@ -204,9 +180,6 @@ fields @timestamp, correlation_id | sort @timestamp desc EOF - lifecycle { - create_before_destroy = false - } } resource "aws_cloudwatch_query_definition" "search_by_update_request_failed" { @@ -223,9 +196,6 @@ fields @timestamp, correlation_id, report_key | sort @timestamp desc EOF - lifecycle { - create_before_destroy = false - } } resource "aws_cloudwatch_query_definition" "search_by_dos_data_item_updates" { @@ -244,9 +214,6 @@ fields @timestamp, correlation_id | sort @timestamp desc EOF - lifecycle { - create_before_destroy = false - } } resource "aws_cloudwatch_query_definition" "search_for_report_warnings" { @@ -270,9 +237,6 @@ fields @timestamp, correlation_id, message | sort @timestamp desc EOF - lifecycle { - create_before_destroy = false - } } @@ -290,7 +254,4 @@ fields @timestamp, level, message | sort @timestamp asc EOF - lifecycle { - create_before_destroy = false - } } From 7671a3c7859edfa68f371908cc6beccdfd9f65fa Mon Sep 17 00:00:00 2001 From: Ajay Mudgal Date: Wed, 26 Nov 2025 16:23:26 +0000 Subject: [PATCH 2/3] Fixing cloudwatch query empty result issue --- .../blue-green-link/cloudwatch-queries.tf | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/infrastructure/stacks/blue-green-link/cloudwatch-queries.tf b/infrastructure/stacks/blue-green-link/cloudwatch-queries.tf index 8e1309e04..0c40468cc 100644 --- a/infrastructure/stacks/blue-green-link/cloudwatch-queries.tf +++ b/infrastructure/stacks/blue-green-link/cloudwatch-queries.tf @@ -3,12 +3,12 @@ // to propagate. Note: This does NOT guarantee post-create consistency // of the query definitions themselves, but can reduce immediate read // failures when the provider plans many resources concurrently. -resource "time_sleep" "wait_for_propagation" { - create_duration = "45s" -} +# resource "time_sleep" "wait_for_propagation" { +# create_duration = "45s" +# } resource "aws_cloudwatch_query_definition" "search_for_errors" { - depends_on = [time_sleep.wait_for_propagation] + # depends_on = [time_sleep.wait_for_propagation] name = "${var.project_id}/${var.blue_green_environment}/search-for-errors" log_group_names = [ @@ -30,7 +30,7 @@ EOF } resource "aws_cloudwatch_query_definition" "search_by_correlation_id" { - depends_on = [time_sleep.wait_for_propagation] + depends_on = [aws_cloudwatch_query_definition.search_for_errors] name = "${var.project_id}/${var.blue_green_environment}/search-by-correlation-id" log_group_names = [ @@ -52,7 +52,7 @@ EOF } resource "aws_cloudwatch_query_definition" "search_by_correlation_id_expanded" { - depends_on = [time_sleep.wait_for_propagation] + depends_on = [aws_cloudwatch_query_definition.search_by_correlation_id] name = "${var.project_id}/${var.blue_green_environment}/search-by-correlation-id-expanded" log_group_names = [ @@ -74,7 +74,7 @@ EOF } resource "aws_cloudwatch_query_definition" "search_by_odscode" { - depends_on = [time_sleep.wait_for_propagation] + depends_on = [aws_cloudwatch_query_definition.search_by_correlation_id_expanded] name = "${var.project_id}/${var.blue_green_environment}/search-by-odscode" log_group_names = [ @@ -96,7 +96,7 @@ EOF } resource "aws_cloudwatch_query_definition" "search_by_odscode_expanded" { - depends_on = [time_sleep.wait_for_propagation] + depends_on = [aws_cloudwatch_query_definition.search_by_odscode] name = "${var.project_id}/${var.blue_green_environment}/search-by-odscode-expanded" log_group_names = [ @@ -118,7 +118,7 @@ EOF } resource "aws_cloudwatch_query_definition" "search_for_invalid_postcode" { - depends_on = [time_sleep.wait_for_propagation] + depends_on = [aws_cloudwatch_query_definition.search_by_odscode_expanded] name = "${var.project_id}/${var.blue_green_environment}/search-for-invalid-postcode" log_group_names = [ @@ -134,7 +134,7 @@ EOF } resource "aws_cloudwatch_query_definition" "search_for_invalid_opening_times" { - depends_on = [time_sleep.wait_for_propagation] + depends_on = [aws_cloudwatch_query_definition.search_for_invalid_postcode] name = "${var.project_id}/${var.blue_green_environment}/search-for-invalid-opening-times" log_group_names = [ @@ -150,7 +150,7 @@ EOF } resource "aws_cloudwatch_query_definition" "search_by_email_correlation_id" { - depends_on = [time_sleep.wait_for_propagation] + depends_on = [aws_cloudwatch_query_definition.search_for_invalid_opening_times] name = "${var.project_id}/${var.blue_green_environment}/search-by-email-correlation-id" log_group_names = [ @@ -167,7 +167,7 @@ EOF } resource "aws_cloudwatch_query_definition" "search_by_update_request_success" { - depends_on = [time_sleep.wait_for_propagation] + depends_on = [aws_cloudwatch_query_definition.search_by_email_correlation_id] name = "${var.project_id}/${var.blue_green_environment}/update-request-success" log_group_names = [ @@ -183,7 +183,7 @@ EOF } resource "aws_cloudwatch_query_definition" "search_by_update_request_failed" { - depends_on = [time_sleep.wait_for_propagation] + depends_on = [aws_cloudwatch_query_definition.search_by_update_request_success] name = "${var.project_id}/${var.blue_green_environment}/update-request-failed" log_group_names = [ @@ -199,7 +199,7 @@ EOF } resource "aws_cloudwatch_query_definition" "search_by_dos_data_item_updates" { - depends_on = [time_sleep.wait_for_propagation] + depends_on = [aws_cloudwatch_query_definition.search_by_update_request_failed] name = "${var.project_id}/${var.blue_green_environment}/dos-data-item-updates" log_group_names = [ @@ -217,7 +217,7 @@ EOF } resource "aws_cloudwatch_query_definition" "search_for_report_warnings" { - depends_on = [time_sleep.wait_for_propagation] + depends_on = [aws_cloudwatch_query_definition.search_by_dos_data_item_updates] name = "${var.project_id}/${var.blue_green_environment}/search-for-report-warnings" log_group_names = [ @@ -241,7 +241,7 @@ EOF resource "aws_cloudwatch_query_definition" "search_for_quality_checker_logs_with_odscode" { - depends_on = [time_sleep.wait_for_propagation] + depends_on = [aws_cloudwatch_query_definition.search_for_report_warnings] name = "${var.project_id}/${var.blue_green_environment}/search-for-quality-checker-logs-with-odscode" log_group_names = [ From 3bdc33ca8ac12774a169e0da44bf9fa1dae8750b Mon Sep 17 00:00:00 2001 From: Ajay Mudgal Date: Wed, 26 Nov 2025 16:46:49 +0000 Subject: [PATCH 3/3] Adding lifecycle rule back --- .../blue-green-link/cloudwatch-queries.tf | 52 ++++++++++++++----- 1 file changed, 40 insertions(+), 12 deletions(-) diff --git a/infrastructure/stacks/blue-green-link/cloudwatch-queries.tf b/infrastructure/stacks/blue-green-link/cloudwatch-queries.tf index 0c40468cc..fd41fd1a0 100644 --- a/infrastructure/stacks/blue-green-link/cloudwatch-queries.tf +++ b/infrastructure/stacks/blue-green-link/cloudwatch-queries.tf @@ -27,6 +27,10 @@ fields @timestamp, correlation_id, ods_code, function_name, message | sort @timestamp EOF + lifecycle { + create_before_destroy = false + } + } resource "aws_cloudwatch_query_definition" "search_by_correlation_id" { @@ -48,7 +52,9 @@ fields @timestamp, message | filter correlation_id == 'REPLACE' | sort @timestamp EOF - + lifecycle { + create_before_destroy = false + } } resource "aws_cloudwatch_query_definition" "search_by_correlation_id_expanded" { @@ -70,7 +76,9 @@ fields @timestamp,correlation_id,ods_code,level,message_received,function_name, | filter correlation_id == 'REPLACE' | sort @timestamp EOF - + lifecycle { + create_before_destroy = false + } } resource "aws_cloudwatch_query_definition" "search_by_odscode" { @@ -92,7 +100,9 @@ fields @timestamp, message | filter ods_code == 'REPLACE' | sort @timestamp EOF - + lifecycle { + create_before_destroy = false + } } resource "aws_cloudwatch_query_definition" "search_by_odscode_expanded" { @@ -114,7 +124,9 @@ fields @timestamp,correlation_id,ods_code,level,message_received,function_name, | filter ods_code == 'REPLACE' | sort @timestamp EOF - + lifecycle { + create_before_destroy = false + } } resource "aws_cloudwatch_query_definition" "search_for_invalid_postcode" { @@ -130,7 +142,9 @@ fields @timestamp,correlation_id,ods_code,level,message_received,function_name, | filter report_key == 'INVALID_POSTCODE' | sort @timestamp EOF - + lifecycle { + create_before_destroy = false + } } resource "aws_cloudwatch_query_definition" "search_for_invalid_opening_times" { @@ -146,7 +160,9 @@ fields @timestamp,correlation_id,ods_code,level,message_received,function_name, | filter report_key == 'INVALID_OPEN_TIMES' | sort @timestamp EOF - + lifecycle { + create_before_destroy = false + } } resource "aws_cloudwatch_query_definition" "search_by_email_correlation_id" { @@ -163,7 +179,9 @@ fields correlation_id | filter message =="Email Correlation Id" | filter email_correlation_id == "ADD_EMAIL_CORRELATION_ID" EOF - + lifecycle { + create_before_destroy = false + } } resource "aws_cloudwatch_query_definition" "search_by_update_request_success" { @@ -179,7 +197,9 @@ fields @timestamp, correlation_id | filter ServiceUpdateSuccess == 1 | sort @timestamp desc EOF - + lifecycle { + create_before_destroy = false + } } resource "aws_cloudwatch_query_definition" "search_by_update_request_failed" { @@ -195,7 +215,9 @@ fields @timestamp, correlation_id, report_key | filter report_key == DOS_DB_UPDATE_DLQ_HANDLER_RECEIVED_EVENT | sort @timestamp desc EOF - + lifecycle { + create_before_destroy = false + } } resource "aws_cloudwatch_query_definition" "search_by_dos_data_item_updates" { @@ -213,7 +235,9 @@ fields @timestamp, correlation_id | filter field == 'REPLACE' | sort @timestamp desc EOF - + lifecycle { + create_before_destroy = false + } } resource "aws_cloudwatch_query_definition" "search_for_report_warnings" { @@ -236,7 +260,9 @@ fields @timestamp, correlation_id, message | filter level == 'WARNING' | sort @timestamp desc EOF - + lifecycle { + create_before_destroy = false + } } @@ -253,5 +279,7 @@ fields @timestamp, level, message | filter odscode = 'TO_ADD' | sort @timestamp asc EOF - + lifecycle { + create_before_destroy = false + } }