Uploaded image for project: 'ZooKeeper'
  1. ZooKeeper
  2. ZOOKEEPER-460

bad testRetry in cppunit tests (hudson failure)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 3.2.1, 3.3.0
    • c client, tests
    • None
    • Reviewed

    Description

      the followng code failed on hudson
      http://hudson.zones.apache.org/hudson/view/ZooKeeper/job/ZooKeeper-trunk/371/

      watchctx_t ctx1, ctx2;
      zhandle_t *zk1 = createClient(&ctx1);
      CPPUNIT_ASSERT_EQUAL(true, ctx1.waitForConnected(zk1));
      zhandle_t *zk2 = createClient(&ctx2);
      zookeeper_close(zk1);
      CPPUNIT_ASSERT_EQUAL(true, ctx2.waitForConnected(zk2));

      there's a problem with this test, it assumes that close(1) can be called before createclient(2) gets connected.

      this is not correct: createclient is an async call an in some cases the connection can be established before
      create client returns.

      this shows a failure in this case because client1 was created, then client2 attempted to connect
      but failed due to this on the server (max conn exceeded):
      sprintf(cmd, "export ZKMAXCNXNS=1;%s startClean %s", ZKSERVER_CMD, getHostPorts());

      conn 2 failed and therefore the following assert eventually failed.

      this code should not assume that close(1) will beat connect(2)

      Henry can you take a look?

      Attachments

        1. zookeeper-460.patch
          0.5 kB
          Giridharan Kesavan

        Issue Links

          Activity

            People

              mahadev Mahadev Konar
              phunt Patrick D. Hunt
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: