Cause: qpid-config uses its default for num-jfiles and jfile-size-pgs when those command line options are not present.
Consequence: The default vales override any values set in the qpid config file.
Fix: qpid-config now only passes the values of the num-jfiles and jfile-size-pgs options when they are specified on the command line.
Result: The values of num-jfiles and jfile-size-pgs specified in the qpid config file are used when the command line options are absent.
DescriptionLeonid Zhaldybin
2012-05-21 11:34:56 UTC
Description of problem:
The user can set default journal parameters (number of files and a size of each file) in qpidd config file. These are the options 'num-jfiles' and 'jfile-size-pgs', which are properly documented. The broker is supposed to use these parameters while creating a new durable queue in case that no journal parameters were provided by the client's application.
The problem is that qpid-config tool sends values fileCount = 8, fileSize = 24 to the broker if called without "--file-count" and "--file-size" parameters.
Imagine the situation where a user sets some default 'num-jfiles' and 'jfile-size-pgs' values in qpidd config file and then creates a durable queue using qpid-config tool: 'qpid-config add queue test --durable'. The resulting queue's journal will have parameters fileCount = 8, fileSize = 24, which will differ from the ones set by the user in config file.
Version-Release number of selected component (if applicable):
qpid-tools-0.14-2
How reproducible:
always
Steps to Reproduce:
1. Set some default journal options in qpidd config file: num-jfiles=10, jfile-size-pgs=36.
2. Create a new durable queue: 'qpid-config add queue test --durable'
3. Check the queue's journal parameters.
Actual results:
The resulting journal's parameter will differ from the values set in qpidd config file.
Expected results:
The default values which were set by the user in qpidd config file should be used for journal's creation.
Additional info:
Iow, qpid-config defaults should not override qpidd.conf. Ernie, please assess to determine if it's easy enough to delegate the defaulting to the broker.
Yes, it should be easy to change qpid-config to not use it's default values for file-count and file-size.
The default values would need to be removed from the options parser and the config class. In addition, a test would need to be made when setting the declArgs when adding a durable queue: If no command line options were entered, then no args are passed when creating the queue.
Created attachment 702548[details]
Remove defaults from fileSize and fileCount argument for durable queues
Allows the num-jfiles and jfile-size-pgs config file setting to take effect.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
http://rhn.redhat.com/errata/RHEA-2014-1296.html