Skip to content

Commit 30c3db8

Browse files
committed
MC-19014: QueueManagementTest caused flakiness during nightly build Integration test runs
1 parent d525030 commit 30c3db8

File tree

3 files changed

+10
-6
lines changed

3 files changed

+10
-6
lines changed

app/code/Magento/MysqlMq/Model/ResourceModel/Queue.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ public function getMessages($queueName, $limit = null)
151151
'queue_message_status.status IN (?)',
152152
[QueueManagement::MESSAGE_STATUS_NEW, QueueManagement::MESSAGE_STATUS_RETRY_REQUIRED]
153153
)->where('queue.name = ?', $queueName)
154-
->order('queue_message_status.updated_at ASC');
154+
->order(['queue_message_status.updated_at ASC', 'queue_message_status.id ASC']);
155155

156156
if ($limit) {
157157
$select->limit($limit);

app/code/Magento/MysqlMq/Test/Unit/Model/ResourceModel/QueueTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ public function testGetMessages()
206206
]
207207
)->willReturnSelf();
208208
$select->expects($this->once())
209-
->method('order')->with('queue_message_status.updated_at ASC')->willReturnSelf();
209+
->method('order')->with(['queue_message_status.updated_at ASC', 'queue_message_status.id ASC'])->willReturnSelf();
210210
$select->expects($this->once())->method('limit')->with($limit)->willReturnSelf();
211211
$connection->expects($this->once())->method('fetchAll')->with($select)->willReturn($messages);
212212
$this->assertEquals($messages, $this->queue->getMessages($queueName, $limit));

dev/tests/integration/testsuite/Magento/MysqlMq/Model/QueueManagementTest.php

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,13 +91,17 @@ public function testAllFlows()
9191
$messages = $this->queueManagement->readMessages('queue2', 1);
9292
$message = array_shift($messages);
9393
$messageRelationId = $message[QueueManagement::MESSAGE_QUEUE_RELATION_ID];
94+
$this->queueManagement->pushToQueueForRetry($messageRelationId);
9495

95-
for ($i = 0; $i < 2; $i++) {
96-
$this->assertEquals($i, $message[QueueManagement::MESSAGE_NUMBER_OF_TRIALS]);
97-
$this->queueManagement->pushToQueueForRetry($message[QueueManagement::MESSAGE_QUEUE_RELATION_ID]);
96+
$retryMessage = null;
97+
for ($i = 1; $i <= 3; $i++) {
9898
$messages = $this->queueManagement->readMessages('queue2', 1);
9999
$message = array_shift($messages);
100-
$this->assertEquals($messageRelationId, $message[QueueManagement::MESSAGE_QUEUE_RELATION_ID]);
100+
if ($message[QueueManagement::MESSAGE_QUEUE_RELATION_ID] == $messageRelationId) {
101+
$retryMessage = $message;
102+
}
101103
}
104+
$this->assertNotNull($retryMessage, 'Made retry message not found in queue');
105+
$this->assertEquals(1, $retryMessage[QueueManagement::MESSAGE_NUMBER_OF_TRIALS]);
102106
}
103107
}

0 commit comments

Comments
 (0)