Skip to content
Snippets Groups Projects
Commit 29d82921 authored by Marc Burnie [AWS]'s avatar Marc Burnie [AWS]
Browse files

Merge branch 'cherry-pick-5d079eec' into 'release/0.28'

Merge branch 'aws-allow-some-indexer-failures' into 'master'

See merge request !565
parents 26f54f34 1c5f0006
No related branches found
No related tags found
1 merge request!565cherry-pick 'aws-allow-some-indexer-failures' into 'release-0.28'
Pipeline #311724 passed with warnings
......@@ -388,23 +388,38 @@ 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;
int timeout = 300;
while (failedCount < MAX_RETRIES) {
messagesLists = pollForMessages(timeout, 1, indexerQueue);
timeout = 30;
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));
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());
Message toDelete = sqsMessages.get(0);
sqsClient.deleteMessage(indexerQueue.queueUrl, toDelete.getReceiptHandle());
failedCount++;
}
}
} catch (Exception e) {
System.err.println(e.toString());
e.printStackTrace();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment