[ 
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]

Reply via email to