[ 
https://issues.apache.org/jira/browse/QPID-5485?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13875608#comment-13875608
 ] 

Pavel Moravec commented on QPID-5485:
-------------------------------------

FYI there is broker option --paging-dir available. Note that having approach 
"don't ulink after creating" and "prevent file overwrite" can cause infinite 
broker restart loop when:
1) broker abruptly died due to some reason, leaving the orphaned files
2) Broker set to automatically restart (i.e. due to rgmanager or whatever else 
way), but its kick-off is terminated when durable paged queue is to be restored


So what about the approach:

1) if paging-dir is set:
  - allow overwriting files (O_TRUNC), assuming the directory contains only 
paged queue files
  - don't ulink files just after created them (do so only when deleting the 
queue)
2) if paging-dir is _not_ set:
  - preventivelly disallow overwriting files (O_EXCL), to protect lock file, 
sasldb or so
  - ulink files just after created them - to prevent potential broker restart 
infinite loop as above

First option is for those admins who likely see everything on their place, the 
second option is for those who dont care (and want everything working somewhere 
on (not visible) background).

Or is the idea too complicated? (and also I need to review the code how easy to 
implement the "is paging-dir set?" test on the _right_ place)


>  Deleting paged queue does not remove underlying file
> -----------------------------------------------------
>
>                 Key: QPID-5485
>                 URL: https://issues.apache.org/jira/browse/QPID-5485
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>    Affects Versions: 0.24
>         Environment: (any posix system)
>            Reporter: Pavel Moravec
>            Assignee: Pavel Moravec
>            Priority: Minor
>              Labels: easyfix, easytest, patch
>             Fix For: 0.27
>
>
> Description of problem:
> When deleting a paged queue, the broker does not delete the underlying file 
> it created in /var/lib/qpidd directory.
> Version-Release number of selected component (if applicable):
> MRG-M 3.0 EA (qpid-cpp 0.22-29)
> How reproducible:
> 100%
> Steps to Reproduce:
> 0. service qpiddd restart
> 1. qpid-send -a "PagedQueue; {create:always, delete:always, node: { 
> x-declare: {arguments: {'qpid.paging':'True' }}}}"
> 2. file /var/lib/qpidd/PagedQueue 
> Actual results:
> /var/lib/qpidd/PagedQueue: data
> Expected results:
> /var/lib/qpidd/PagedQueue: cannot open `/var/lib/qpidd/PagedQueue' (No such 
> file or directory)
> Additional info:



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to