Uploaded image for project: 'Ambari'
  1. Ambari
  2. AMBARI-12537

Blueprints Cluster configuration task thread should not wait indefinitely

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • 2.1.1
    • 2.2.0
    • ambari-server
    • None

    Description

      There are a few instances of a threading pattern in the Blueprints configuration processor that should be modified slightly to avoid an indefinite wait in the case of an error condition.

      The TopologyManager.ClusterConfigureTask demonstrates this problem, where a thread will sleep repeatedly, and then loop infinitely if a condition is not reached.

      In the error scenario, this could potentially keep the thread running indefinitely, which is a waste of resources.

      The TopologyManager.ClusterConfigureTask, and perhaps other scenarios like this in Blueprints as well, should be modified to include some kind of timeout on these waiting threads. If the condition is not met within a reasonable amount of time, the thread should log that condition and exit. Leaving the thread to execute indefinitely for a condition that will never be met is wasting resources, and should be addressed.

      This configuration timeout may need to be configurable as well, since different cluster sizes will have different timing issues.

      Attachments

        1. AMBARI-12537.v8.patch
          24 kB
          Laszlo Puskas

        Issue Links

          Activity

            People

              lpuskas Laszlo Puskas
              rnettleton Bob Nettleton
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: