Qpid
  1. Qpid
  2. QPID-3007

Inconsistent management messages in a cluster, test fails sporadically

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.9
    • Fix Version/s: 0.9
    • Component/s: C++ Clustering
    • Labels:
      None

      Description

      Management messages on different members of a cluster can be different, which can cause a cluster member to fail with an invalid-arg error.

      The cluster_tests.py test_management and test_management_qmf2 exercise management code and collects detailed trace logging. The logs are compared for consistency.

      The test is disabled as it does not pass. To enable the test remove these lines from cpp/src/tests/cluster_test_logs.py:91

      1. FIXME aconway 2011-01-19: disable when called from unit tests
      2. Causing sporadic failures, see https://issues.apache.org/jira/browse/QPID-3007
        if _name_ != "_main_": return

      When enabled the test fails, all inconsistencies shown by this test need to be resolved.

        Activity

        Hide
        Alan Conway added a comment -

        Committed partial fix r1061308

        Bug 654872, QPID-3007: Batch management messages by count, not size.

        QMF V1 management messages were being batched by accumulating up to a
        certain total size of data. Since management messages may have
        different sizes on brokers in a cluster, this was leading to
        inconsistencies.

        This patch batches V1 messages by count rather than by size, similar
        to V2 messages.

        Show
        Alan Conway added a comment - Committed partial fix r1061308 Bug 654872, QPID-3007 : Batch management messages by count, not size. QMF V1 management messages were being batched by accumulating up to a certain total size of data. Since management messages may have different sizes on brokers in a cluster, this was leading to inconsistencies. This patch batches V1 messages by count rather than by size, similar to V2 messages.
        Hide
        Alan Conway added a comment -

        Fixed by the following revisions:

        1061308 Bug 654872, QPID-3007: Batch management messages by count, not size.
        1066220 QPID-3007: Unique management identifier for connections.
        1066219 QPID-3007: Ignore expected connection close warning in cluster_test_logs.py
        1066217 QPID-3007: Don't hold on to consumer shared-pointers in UpdateClient::consumerNumbering
        1066215 QPID-3007: Don't record management statistics in cluster-unsafe contexts.

        Show
        Alan Conway added a comment - Fixed by the following revisions: 1061308 Bug 654872, QPID-3007 : Batch management messages by count, not size. 1066220 QPID-3007 : Unique management identifier for connections. 1066219 QPID-3007 : Ignore expected connection close warning in cluster_test_logs.py 1066217 QPID-3007 : Don't hold on to consumer shared-pointers in UpdateClient::consumerNumbering 1066215 QPID-3007 : Don't record management statistics in cluster-unsafe contexts.
        Hide
        Alan Conway added a comment -

        To build on windows this revision is also required:
        1066581 Fix missing QPID_COMMON_EXTERN in sys/Socket.h, causing windows build failure.

        Show
        Alan Conway added a comment - To build on windows this revision is also required: 1066581 Fix missing QPID_COMMON_EXTERN in sys/Socket.h, causing windows build failure.

          People

          • Assignee:
            Alan Conway
            Reporter:
            Alan Conway
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development