Bug 1019236 - [amqp1.0] Setting journal parameters not supported
[amqp1.0] Setting journal parameters not supported
Status: CLOSED CURRENTRELEASE
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp (Show other bugs)
Development
Unspecified Unspecified
unspecified Severity high
: 3.0
: ---
Assigned To: Gordon Sim
Leonid Zhaldybin
:
Depends On:
Blocks: 1010399
  Show dependency treegraph
 
Reported: 2013-10-15 06:53 EDT by Leonid Zhaldybin
Modified: 2014-11-09 17:39 EST (History)
4 users (show)

See Also:
Fixed In Version: qpid-cpp-0.22-20
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2014-10-20 09:52:20 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Apache JIRA QPID-5235 None None None Never

  None (edit)
Description Leonid Zhaldybin 2013-10-15 06:53:54 EDT
Description of problem:
While creating durable queue using AMQP1.0, setting journal parameters (file count and file size) is not supported. If the AMQP1.0 version of protocol is used, the default values (qpid.file_count = 8, qpid.file_size = 24) are always used.

The example command creates a durable queue with the journal which has 11 files, each of them of size 1 page (64KB):
[root@lzhaldyb-rhel64x messaging]# ./spout --connection-options "{  protocol : 'amqp0-10' }" "test_queue_journal_010;{'node': {'x-declare': {'arguments': {'qpid.file_count': 11, 'qpid.file_size' : 1}}, 'durable': True}, 'create': 'always'}"
[root@lzhaldyb-rhel64x ~]# ll /var/lib/qpidd/.qpidd/rhm/jrnl/000d/test_queue_journal_010/
total 752
-rw-r-----. 1 qpidd qpidd 66048 Oct 15 12:41 JournalData.0000.jdat
-rw-r-----. 1 qpidd qpidd 66048 Oct 15 12:41 JournalData.0001.jdat
-rw-r-----. 1 qpidd qpidd 66048 Oct 15 12:41 JournalData.0002.jdat
-rw-r-----. 1 qpidd qpidd 66048 Oct 15 12:41 JournalData.0003.jdat
-rw-r-----. 1 qpidd qpidd 66048 Oct 15 12:41 JournalData.0004.jdat
-rw-r-----. 1 qpidd qpidd 66048 Oct 15 12:41 JournalData.0005.jdat
-rw-r-----. 1 qpidd qpidd 66048 Oct 15 12:41 JournalData.0006.jdat
-rw-r-----. 1 qpidd qpidd 66048 Oct 15 12:41 JournalData.0007.jdat
-rw-r-----. 1 qpidd qpidd 66048 Oct 15 12:41 JournalData.0008.jdat
-rw-r-----. 1 qpidd qpidd 66048 Oct 15 12:41 JournalData.0009.jdat
-rw-r-----. 1 qpidd qpidd 66048 Oct 15 12:41 JournalData.000a.jdat
-rw-r-----. 1 qpidd qpidd   863 Oct 15 12:41 JournalData.jinf

The same command creates the journal with the default parameters if AMQP1.0 used:
[root@lzhaldyb-rhel64x messaging]# ./spout --connection-options "{  protocol : 'amqp1.0' }" "test_queue_journal_1_0;{'node': {'x-declare': {'arguments': {'qpid.file_count': 11, 'qpid.file_size' : 1}}, 'durable': True}, 'create': 'always'}"
[root@lzhaldyb-rhel64x ~]# ll /var/lib/qpidd/.qpidd/rhm/jrnl/000a/test_queue_journal_1_0/
total 12324
-rw-r-----. 1 qpidd qpidd 1573376 Oct 15 12:41 JournalData.0000.jdat
-rw-r-----. 1 qpidd qpidd 1573376 Oct 15 12:41 JournalData.0001.jdat
-rw-r-----. 1 qpidd qpidd 1573376 Oct 15 12:41 JournalData.0002.jdat
-rw-r-----. 1 qpidd qpidd 1573376 Oct 15 12:41 JournalData.0003.jdat
-rw-r-----. 1 qpidd qpidd 1573376 Oct 15 12:41 JournalData.0004.jdat
-rw-r-----. 1 qpidd qpidd 1573376 Oct 15 12:41 JournalData.0005.jdat
-rw-r-----. 1 qpidd qpidd 1573376 Oct 15 12:41 JournalData.0006.jdat
-rw-r-----. 1 qpidd qpidd 1573376 Oct 15 12:41 JournalData.0007.jdat
-rw-r-----. 1 qpidd qpidd     863 Oct 15 12:41 JournalData.jinf

Version-Release number of selected component (if applicable):
qpid-cpp-0.22-19

How reproducible:
100%

Steps to Reproduce:
1. Create a durable queue providing non-standard file_size and file_count parameters for its journal using AMQP1.0
2.
3.

Actual results:
The default values of journal parameters are used.

Expected results:
Provided non-standard values of journal parameters are used.

Additional info:
Comment 1 Leonid Zhaldybin 2013-10-15 07:41:09 EDT
Using the 'properties' string while creating a queue instead of 'x-declare' does not help:

[root@lzhaldyb-rhel64i messaging]# ./spout --connection-options "{  protocol : 'amqp1.0' }" "test_queue_journal_1_nodes;{'node': {'properties': {'qpid.file_count': 11, 'qpid.file_size' : 1}, 'durable': True}, 'create': 'always'}"

root@lzhaldyb-rhel64i ~]# ll /var/lib/qpidd/.qpidd/rhm/jrnl/0001/test_queue_journal_1_nodes/
total 12324
-rw-r-----. 1 qpidd qpidd 1573376 Oct 15 13:29 JournalData.0000.jdat
-rw-r-----. 1 qpidd qpidd 1573376 Oct 15 13:29 JournalData.0001.jdat
-rw-r-----. 1 qpidd qpidd 1573376 Oct 15 13:29 JournalData.0002.jdat
-rw-r-----. 1 qpidd qpidd 1573376 Oct 15 13:29 JournalData.0003.jdat
-rw-r-----. 1 qpidd qpidd 1573376 Oct 15 13:29 JournalData.0004.jdat
-rw-r-----. 1 qpidd qpidd 1573376 Oct 15 13:29 JournalData.0005.jdat
-rw-r-----. 1 qpidd qpidd 1573376 Oct 15 13:29 JournalData.0006.jdat
-rw-r-----. 1 qpidd qpidd 1573376 Oct 15 13:29 JournalData.0007.jdat
-rw-r-----. 1 qpidd qpidd     871 Oct 15 13:29 JournalData.jinf
Comment 2 Gordon Sim 2013-10-15 09:03:25 EDT
Fixed upstream: https://svn.apache.org/r1532312
Comment 3 Leonid Zhaldybin 2013-10-22 08:00:16 EDT
This issue has been fixed. Tested on RHEL6, i386 and x86_64.

Packages used for testing:

python-qpid-0.22-5.el6
python-qpid-qmf-0.22-18.el6
qpid-cpp-client-0.22-21.el6
qpid-cpp-client-devel-0.22-21.el6
qpid-cpp-client-devel-docs-0.22-21.el6
qpid-cpp-client-ssl-0.22-21.el6
qpid-cpp-server-0.22-21.el6
qpid-cpp-server-devel-0.22-21.el6
qpid-cpp-server-ha-0.22-21.el6
qpid-cpp-server-ssl-0.22-21.el6
qpid-cpp-server-store-0.22-21.el6
qpid-cpp-server-xml-0.22-21.el6
qpid-java-amqp-0-10-client-jms-0.23-4.el6
qpid-java-client-0.23-4.el6
qpid-java-common-0.23-4.el6
qpid-java-example-0.23-4.el6
qpid-jca-0.22-1.el6
qpid-jca-xarecovery-0.22-1.el6
qpid-proton-c-0.5-6.el6
qpid-proton-c-devel-0.5-6.el6
qpid-qmf-0.22-18.el6
qpid-snmpd-1.0.0-12.el6
qpid-tools-0.22-6.el6

-> VERIFIED

Note You need to log in before you can comment on or make changes to this bug.