From fe2f14c6e63cca267f7c606aa991d6c2e7c7ff0a Mon Sep 17 00:00:00 2001 From: Kenneth Kehl <@kkehl@flexion.us> Date: Mon, 19 May 2025 15:14:02 -0700 Subject: [PATCH 1/3] add sleep, more error handling, better debug message --- app/aws/s3.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/aws/s3.py b/app/aws/s3.py index e226f88c2..c569e33fe 100644 --- a/app/aws/s3.py +++ b/app/aws/s3.py @@ -224,11 +224,20 @@ def get_s3_files(): current_app.logger.info( f"job_cache length before regen: {len_job_cache()} #notify-debug-admin-1200" ) + count = 0 try: for object_key in object_keys: read_s3_file(bucket_name, object_key, s3res) + count = count + 1 + eventlet.sleep(0.2) except Exception: - current_app.logger.exception("Connection pool issue") + current_app.logger.exception( + f"Trouble reading {object_key} which is # {count} during cache regeneration" + ) + except OSError: + current_app.logger.exception( + f"Egress proxy issue reading {object_key} which is # {count}" + ) current_app.logger.info( f"job_cache length after regen: {len_job_cache()} #notify-debug-admin-1200" From 835de96793f4c5a1c6e2fc0112d1fb9a408a0c4b Mon Sep 17 00:00:00 2001 From: Kenneth Kehl <@kkehl@flexion.us> Date: Mon, 19 May 2025 15:23:18 -0700 Subject: [PATCH 2/3] fix test --- tests/app/aws/test_s3.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/app/aws/test_s3.py b/tests/app/aws/test_s3.py index cd6b76962..467ce6829 100644 --- a/tests/app/aws/test_s3.py +++ b/tests/app/aws/test_s3.py @@ -611,4 +611,6 @@ def test_get_s3_files_handles_exception(mocker): ] mock_read_s3_file.assert_has_calls(calls, any_order=True) - mock_current_app.logger.exception.assert_called_with("Connection pool issue") + mock_current_app.logger.exception.assert_called_with( + "Trouble reading file2.csv which is # 1 during cache regeneration" + ) From b45b9cbdbee5f3c0897b2ffa34c05a57b67427f5 Mon Sep 17 00:00:00 2001 From: Kenneth Kehl <@kkehl@flexion.us> Date: Tue, 20 May 2025 07:38:31 -0700 Subject: [PATCH 3/3] rethrow oserror --- app/aws/s3.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/aws/s3.py b/app/aws/s3.py index c569e33fe..cbc3d9f2e 100644 --- a/app/aws/s3.py +++ b/app/aws/s3.py @@ -234,10 +234,11 @@ def get_s3_files(): current_app.logger.exception( f"Trouble reading {object_key} which is # {count} during cache regeneration" ) - except OSError: + except OSError as e: current_app.logger.exception( f"Egress proxy issue reading {object_key} which is # {count}" ) + raise e current_app.logger.info( f"job_cache length after regen: {len_job_cache()} #notify-debug-admin-1200"