Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 3.5.0
    • Fix Version/s: None
    • Component/s: c client
    • Labels:
      None

      Description

      We've seen an intermittent failure in one of the C client tests TestReconfig which was committed as part of ZOOKEEPER-1355.

      The test that is failing is failing before any rebalancing algorithm is invoked. After inspecting this we've concluded it is a failure to properly seed the random number generator properly. This same problem was seen and solved on the Java client side so we just need to do something similar on the C client side.

      The assertion:

      Build/trunk/src/c/tests/TestReconfig.cc:571: Assertion: assertion failed [Expression: numClientsPerHost.at(i) >= lowerboundClientsPerServer(numClients, numServers)]
      [exec] [exec] Failures !!!
      [exec] [exec] Run: 38 Failure total: 1 Failures: 1 Errors: 0
      [exec] [exec] make: *** [run-check] Error 1
      [exec]
      [exec] BUILD FAILED
      [exec] /home/jenkins/jenkins-slave/workspace/PreCommit-ZOOKEEPER-Build/trunk/build.xml:1262: The following error occurred while executing this line:
      [exec] /home/jenkins/jenkins-slave/workspace/PreCommit-ZOOKEEPER-Build/trunk/build.xml:1272: exec returned: 2

      Also this one:

      From the latest build logs:
      [exec] Zookeeper_watchers::testChildWatcher2 : elapsed 54 : OK
      [exec] /home/jenkins/jenkins-slave/workspace/ZooKeeper-trunk/trunk/src/c/tests/TestReconfig.cc:183: Assertion: equality assertion failed [Expected: 1, Actual : 0]
      [exec] Failures !!!
      [exec] Run: 67 Failure total: 1 Failures: 1 Errors: 0
      [exec] FAIL: zktest-mt
      [exe

        Issue Links

          Activity

          Hide
          Marshall McMullen added a comment -

          In the equivalent Java client test, the essential idea is to use a known seed of 1, but instead of using the random numbers directly from that, it passes the numbers generated into the client's invidiaul random number generators to be the seeds.

          Show
          Marshall McMullen added a comment - In the equivalent Java client test, the essential idea is to use a known seed of 1, but instead of using the random numbers directly from that, it passes the numbers generated into the client's invidiaul random number generators to be the seeds.
          Hide
          Alexander Shraer added a comment -

          Marshall, I'm wondering if the bug has something to do with the following: when you create a client, the second parameter to the constructor determines the random seed used by the client. That second parameter I think is supposed to be the client's id, but what is passed is clients.size(). I might be wrong here but I don't see where this vector of clients is cleared in between tests, so is it true that at some point the set size is fixed and all the seeds are the same ?

          Show
          Alexander Shraer added a comment - Marshall, I'm wondering if the bug has something to do with the following: when you create a client, the second parameter to the constructor determines the random seed used by the client. That second parameter I think is supposed to be the client's id, but what is passed is clients.size(). I might be wrong here but I don't see where this vector of clients is cleared in between tests, so is it true that at some point the set size is fixed and all the seeds are the same ?
          Hide
          Flavio Junqueira added a comment -

          I think I have just come across this issue here:

          https://builds.apache.org/job/ZooKeeper-trunk/2072/console

          Any chance we can get it fixed?

          Show
          Flavio Junqueira added a comment - I think I have just come across this issue here: https://builds.apache.org/job/ZooKeeper-trunk/2072/console Any chance we can get it fixed?

            People

            • Assignee:
              Marshall McMullen
              Reporter:
              Marshall McMullen
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:

                Development