Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1487886

Summary: journal-flush-timeout config option parsing changed in an incompatible way
Product: Red Hat Enterprise MRG Reporter: Mike Cressman <mcressma>
Component: qpid-cppAssignee: messaging-bugs <messaging-bugs>
Status: CLOSED ERRATA QA Contact: Petr Matousek <pematous>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 3.2CC: jross, pematous, zkraus
Target Milestone: 3.2.6Keywords: Regression
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qpid-cpp-1.36.0-9 Doc Type: Bug Fix
Doc Text:
Cause: The journal-flush-timeout config option parsing was incorrectly changed so that the input value was assumed to be milliseconds. Consequence: This caused existing config files to not work the same way they did previously. Fix: The parsing was restored to its previous functionality, so that the setting is interpreted as seconds unless it has a suffix of "ns" (signifying nanoseconds) or "ms" (signifying milliseconds). Result: Now the journal-flush-timeout setting is interpreted the way it was prior to MRG 3.2.5.
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-10-16 14:29:04 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Mike Cressman 2017-09-03 00:58:39 UTC
Description of problem:

A recent checkin for QPID-7666 (and released in MRG 3.2.5) changed the way the journal-flush-timeout parameter for the linearstore is handled. This change caused the value to be an integer millisecond value with a minimum of 1. This means:

    A relatively arbitrary lower limit has been suddenly applied;
    Existing configuration files may no longer be valid and could either cause the broker to stop with an error or could in some cases continue running with a different interpretation of the number (if the original timeout value were an integer > 1, previously interpreted as seconds).

The original interpretation was in seconds, with suffixes ms and ns allowed to denote milliseconds or nanoseconds.

This fix needs to be rolled back and the original handling of the parameter needs to be restored. (Already done upstream in QPID-7877.)

Version-Release number of selected component (if applicable):
qpid-cpp-1.36.0-6

How reproducible:
Always

Steps to Reproduce:
1. In qpidd.conf, set journal-flush-timeout=100ns
2. or, set journal-flush-timeout=10


Actual results:
1. broker stops with a config error
2. broker interprets as 10ms, when it should be 10 sec


Expected results:
1. broker accepts 100ns, and uses 100 nanoseconds as the interval
2. broker interprets values in seconds, unless ms or ns suffix is used

Additional info:

Comment 3 Petr Matousek 2017-09-18 13:29:42 UTC
This issue has been fixed, verified on all supported platforms.

-> VERIFIED

Comment 5 errata-xmlrpc 2017-10-16 14:29:04 UTC
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.

https://access.redhat.com/errata/RHBA-2017:2892