Skip to content

Commit be479b0

Browse files
committed
fixup! Improve handling of fail queues (#6781)
1 parent 8595aed commit be479b0

File tree

3 files changed

+15
-14
lines changed

3 files changed

+15
-14
lines changed

scripts/reindex.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ def main(argv: list[str]):
144144
reject(args.deindex and (args.delete or args.create),
145145
'--deindex is incompatible with --create and --delete.')
146146

147-
assert azul.is_valid_failed_queues_state(), R(
147+
assert azul.is_valid_fail_queues_state(), R(
148148
'Operation canceled due to non-empty failed queues. Running manage_queues.py is '
149149
'required to empty the queues.')
150150

@@ -189,7 +189,7 @@ def main(argv: list[str]):
189189
args.prefix, args.catalogs)
190190
else:
191191
azul.wait_for_indexer()
192-
assert azul.is_valid_failed_queues_state(), R(
192+
assert azul.is_valid_fail_queues_state(), R(
193193
'Operation failed due to non empty failed queues. Use manage_queues.py to '
194194
'amend this state before retrying.')
195195

src/azul/azulclient.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -600,13 +600,14 @@ def message(source: SourceRef):
600600
messages = map(message, sources)
601601
self.queue_mirror_messages(messages)
602602

603-
def is_valid_failed_queues_state(self) -> bool:
604-
queues = set()
605-
for failed_queue in config.fail_queue_names:
606-
log.info('Checking whether queue %r is empty', failed_queue)
607-
queues.add(self.is_queue_empty(failed_queue))
608-
assert len(queues) > 0, R('Failed queues not checked', queues)
609-
return all(queues)
603+
def is_valid_fail_queues_state(self) -> bool:
604+
queue_states= set()
605+
for fail_queue in config.fail_queue_names:
606+
queue_state = self.is_queue_empty(fail_queue)
607+
queue_states.add(queue_state)
608+
log.info('Queue %r is empty: %r', fail_queue, queue_state)
609+
assert len(queue_states) > 0, R('No fail queues found')
610+
return all(queue_states)
610611

611612

612613
class AzulClientError(RuntimeError):

test/integration_test.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,7 @@ class Catalog:
430430

431431
def _wait_for_indexer():
432432
self.azul_client.wait_for_indexer()
433-
self._empty_failed_queues_check()
433+
self._empty_fail_queues_check()
434434

435435
flags = config.it_flags
436436
index, delete = ['no_' + flag not in flags for flag in ['index', 'delete']]
@@ -440,7 +440,7 @@ def _wait_for_indexer():
440440
else:
441441
log.warning('Will skip indexing due to overriding IT flag.')
442442

443-
self._empty_failed_queues_check()
443+
self._empty_fail_queues_check()
444444
catalogs: list[Catalog] = []
445445
for catalog in config.integration_test_catalogs:
446446
if index:
@@ -498,7 +498,7 @@ def _wait_for_indexer():
498498
self._test_mirroring()
499499

500500
def _reset_indexer(self):
501-
self._empty_failed_queues_check()
501+
self._empty_fail_queues_check()
502502
# While it's OK to erase the integration test catalog, the queues are
503503
# shared by all catalogs and we can't afford to trash them in a stable
504504
# deployment like production.
@@ -509,8 +509,8 @@ def _reset_indexer(self):
509509
delete_indices=True,
510510
create_indices=True)
511511

512-
def _empty_failed_queues_check(self):
513-
assert self.azul_client.is_valid_failed_queues_state(), R(
512+
def _empty_fail_queues_check(self):
513+
assert self.azul_client.is_valid_fail_queues_state(), R(
514514
'Failed queues are not empty. Use manage_queues.py to amend this state '
515515
'before retrying.')
516516

0 commit comments

Comments
 (0)