[
https://issues.apache.org/jira/browse/QPID-5388?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kim van der Riet resolved QPID-5388.
------------------------------------
Resolution: Fixed
Fixed in r.1547921.
When a queue is first created, the first journal file is placed into the queue
directory uninitialized (ie the file header does not contain key information).
When the first record is written, the journal header is initialized, since it
must reflect the first record's rid.
The RecoveryManager was unable to handle uninitialized journal files. The fix
now allows RecoveryManager to use the uninitialized file in place and allow it
to be initialized when the first record is written.
The reproducer described above now works as expected.
> Linearstore: Segmentation fault when recovering empty queue
> -----------------------------------------------------------
>
> Key: QPID-5388
> URL: https://issues.apache.org/jira/browse/QPID-5388
> Project: Qpid
> Issue Type: Bug
> Reporter: Kim van der Riet
> Assignee: Kim van der Riet
>
> When linear store recovers an empty queue, it crashes with a segmentation
> fault.
> Steps to reproduce:
> 1. Start broke with linearstore loaded.
> 2. Create a queue:
> {color:blue}{noformat}drain
> "q;{create:always,node:{type:queue,durable:true}}"{noformat}{color}
> 3. Stop the broker
> 4. Restart the broker, allowing the store to recover the queue "q".
> The broker crashes with the following message:
> {noformat}warning Linear Store: Journal 'q":Journal file
> /home/wherever/qls/jrnl/q/e8c9cfce-2dfd-400e-a229-5d8b4e5cd5ea.jrnl belongs
> to queue "": ignoring{noformat}
--
This message was sent by Atlassian JIRA
(v6.1#6144)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]