Uploaded image for project: 'Accumulo'
  1. Accumulo
  2. ACCUMULO-1903

Monitor creates a new ZK object to fetch gc status and doesn't wait for it to connect.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.4.4, 1.5.0
    • 1.4.5, 1.5.1, 1.6.0
    • monitor

    Description

      May affect older versions, didn't check them for the same code, but it does exist in 1.5.1-SNAPSHOT and 1.6.0-SNAPSHOT currently.

      Seeing a warning in the monitor "Unable to contact the garbage collector at null", stemming from a KeeperException KeeperErrorCode ConnectionLoss in fetchGcStatus().

      Initially I thought this was just a connection error, but I took a look at the code and a quick google search led me to http://zookeeper-user.578899.n2.nabble.com/zookeeper-connection-loss-exception-occurs-on-new-created-ZooKeeper-instance-too-much-why-td6766831.html

      In the getchGcStatus() we create a new ZooKeeper object with every call and then immediately try to use it (!!) without waiting for it to finish establishing a connection. Because of these, I think we should A. ensure it's connected before attempting to use and B. try to reuse the same ZK object instead of creating a new one for each call.

      Attachments

        Activity

          People

            ecn Eric C. Newton
            vines John Vines
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: