From 3060e1061ebe2fc51473b130de9b37177d7398b0 Mon Sep 17 00:00:00 2001
From: Derek Hudson <dhudsons@amazon.com>
Date: Tue, 25 Feb 2025 17:06:10 -0600
Subject: [PATCH 1/3] Testing with allowing some indexer failures in the
 Notification integration tests.

---
 .../TestNotificationsEndpoint.java            | 46 ++++++++++++-------
 1 file changed, 29 insertions(+), 17 deletions(-)

diff --git a/testing/notification-test-aws/src/test/java/org/opengroup/osdu/notification/subscriptions/TestNotificationsEndpoint.java b/testing/notification-test-aws/src/test/java/org/opengroup/osdu/notification/subscriptions/TestNotificationsEndpoint.java
index e37a8479f..a5f8f9892 100644
--- a/testing/notification-test-aws/src/test/java/org/opengroup/osdu/notification/subscriptions/TestNotificationsEndpoint.java
+++ b/testing/notification-test-aws/src/test/java/org/opengroup/osdu/notification/subscriptions/TestNotificationsEndpoint.java
@@ -388,23 +388,35 @@ public class TestNotificationsEndpoint {
                 PubSubInfo expectedStorageMessage = storageUtils.createAndPutRecord(UUID.randomUUID().toString(), INDEXER_LEGAL_TAG_NAME);
 
                 // Get Queue Messages
-                List<List<Message>> messagesLists = pollForMessages(600, 1, storageQueue, indexerQueue);
-                assertEquals(2, messagesLists.size());
-                List<Message> storageSQSMessages = messagesLists.get(0);
-                List<Message> indexerSQSMessages = messagesLists.get(1);
-
-                Instant end = Instant.now();
-
-                storageUtils.assertFirstMessagesSimilar(expectedStorageMessage, storageSQSMessages);
-                IndexerMessage indexerMessage = AwsTestUtils.unwrapFirst(indexerSQSMessages, IndexerMessage[].class);
-                assertEquals(expectedStorageMessage.getKind(), indexerMessage.kind());
-                assertEquals(expectedStorageMessage.getId(), indexerMessage.id());
-                assertEquals("create", indexerMessage.operationType());
-                assertEquals("SUCCESS", indexerMessage.status());
-                assertNotNull(indexerMessage.indexProgress());
-                assertEquals(200, indexerMessage.indexProgress().statusCode());
-                Instant lastChanged = Instant.parse(indexerMessage.indexProgress().lastUpdateTime());
-                assertTrue(lastChanged.isAfter(start) && lastChanged.isBefore(end));
+                List<List<Message>> messagesLists = pollForMessages(storageQueue);
+                assertEquals(1, messagesLists.size());
+                List<Message> sqsMessages = messagesLists.get(0);
+                storageUtils.assertFirstMessagesSimilar(expectedStorageMessage, sqsMessages);
+                int failedCount = 0;
+                while (failedCount < MAX_RETRIES) {
+                    messagesLists = pollForMessages(indexerQueue);
+                    assertEquals(1, messagesLists.size());
+                    Instant end = Instant.now();
+                    sqsMessages = messagesLists.get(0);
+                    IndexerMessage indexerMessage = AwsTestUtils.unwrapFirst(sqsMessages, IndexerMessage[].class);
+
+                    assertEquals(expectedStorageMessage.getKind(), indexerMessage.kind());
+                    assertEquals(expectedStorageMessage.getId(), indexerMessage.id());
+                    assertEquals("create", indexerMessage.operationType());
+                    if (indexerMessage.status().equals("SUCCESS")) {
+                        assertEquals("SUCCESS", indexerMessage.status());
+                        assertNotNull(indexerMessage.indexProgress());
+                        assertEquals(200, indexerMessage.indexProgress().statusCode());
+                        Instant lastChanged = Instant.parse(indexerMessage.indexProgress().lastUpdateTime());
+                        assertTrue(lastChanged.isAfter(start) && lastChanged.isBefore(end));
+                    } else {
+
+                        System.out.printf("The %d time checking the first successful message failed with status %s. Deleting message and getting another one.\n", failedCount, indexerMessage.status());
+                        Message toDelete = sqsMessages.get(0);
+                        sqsClient.deleteMessage(indexerQueue.queueUrl, toDelete.getReceiptHandle());
+                        failedCount++;
+                    }
+                }
             } catch (Exception e) {
                 System.err.println(e.toString());
                 e.printStackTrace();
-- 
GitLab


From a09dd012aeb179394cf216959a3b6e1b40608ffd Mon Sep 17 00:00:00 2001
From: Derek Hudson <dhudsons@amazon.com>
Date: Tue, 25 Feb 2025 22:11:03 -0600
Subject: [PATCH 2/3] Added yet another fix.

---
 .../notification/subscriptions/TestNotificationsEndpoint.java    | 1 +
 1 file changed, 1 insertion(+)

diff --git a/testing/notification-test-aws/src/test/java/org/opengroup/osdu/notification/subscriptions/TestNotificationsEndpoint.java b/testing/notification-test-aws/src/test/java/org/opengroup/osdu/notification/subscriptions/TestNotificationsEndpoint.java
index a5f8f9892..c92dc89b5 100644
--- a/testing/notification-test-aws/src/test/java/org/opengroup/osdu/notification/subscriptions/TestNotificationsEndpoint.java
+++ b/testing/notification-test-aws/src/test/java/org/opengroup/osdu/notification/subscriptions/TestNotificationsEndpoint.java
@@ -409,6 +409,7 @@ public class TestNotificationsEndpoint {
                         assertEquals(200, indexerMessage.indexProgress().statusCode());
                         Instant lastChanged = Instant.parse(indexerMessage.indexProgress().lastUpdateTime());
                         assertTrue(lastChanged.isAfter(start) && lastChanged.isBefore(end));
+                        break;
                     } else {
 
                         System.out.printf("The %d time checking the first successful message failed with status %s. Deleting message and getting another one.\n", failedCount, indexerMessage.status());
-- 
GitLab


From e02fde199c953ea805188c517c60992212caef64 Mon Sep 17 00:00:00 2001
From: Derek Hudson <dhudsons@amazon.com>
Date: Wed, 26 Feb 2025 15:11:48 -0600
Subject: [PATCH 3/3] Testing another potential fix.

---
 .../notification/subscriptions/TestNotificationsEndpoint.java | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/testing/notification-test-aws/src/test/java/org/opengroup/osdu/notification/subscriptions/TestNotificationsEndpoint.java b/testing/notification-test-aws/src/test/java/org/opengroup/osdu/notification/subscriptions/TestNotificationsEndpoint.java
index c92dc89b5..941c71249 100644
--- a/testing/notification-test-aws/src/test/java/org/opengroup/osdu/notification/subscriptions/TestNotificationsEndpoint.java
+++ b/testing/notification-test-aws/src/test/java/org/opengroup/osdu/notification/subscriptions/TestNotificationsEndpoint.java
@@ -393,8 +393,10 @@ public class TestNotificationsEndpoint {
                 List<Message> sqsMessages = messagesLists.get(0);
                 storageUtils.assertFirstMessagesSimilar(expectedStorageMessage, sqsMessages);
                 int failedCount = 0;
+                int timeout = 300;
                 while (failedCount < MAX_RETRIES) {
-                    messagesLists = pollForMessages(indexerQueue);
+                    messagesLists = pollForMessages(timeout, 1, indexerQueue);
+                    timeout = 30;
                     assertEquals(1, messagesLists.size());
                     Instant end = Instant.now();
                     sqsMessages = messagesLists.get(0);
-- 
GitLab