Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.30
-
None
Description
If a new queue is created through QMF but never used, the store creates a queue directory and places an uninitialized journal file into it. If qpid-qls-analyze is used to look at this store, it fails with and error message:
Traceback (most recent call last): File "/usr/bin/qpid-qls-analyze", line 109, in <module> M.run() File "/usr/bin/qpid-qls-analyze", line 97, in run self.jrnl_recovery_mgr.run() File "/usr/bin/qlslibs/anal.py", line 73, in run jrnl.recover(self.high_rid_counter) File "/usr/bin/qlslibs/anal.py", line 358, in recover self._check_alignment() File "/usr/bin/qlslibs/anal.py", line 423, in _check_alignment remaining_sblks = self.last_record_offset % qlslibs.utils.DEFAULT_SBLK_SIZE TypeError: unsupported operand type(s) for %: 'NoneType' and 'int'
Thanks to Jitka Kocnova for finding this bug. Method to reproduce:
Using a clean store:
qpid-config add queue q --durable
then stop the broker and analyze:
qpid-qls-analyze --stats <store-path>