Uploaded image for project: 'Marathon'
  1. Marathon
  2. MARATHON-6948

HTTP and TCP Per-Task Health Checks

    Details

    • Type: Task
    • Status: Resolved
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 0.9.0
    • Component/s: None
    • Labels:

      Description

      Addresses MGI-174
      Supersedes PR MGI-188

      Future enhancements:

      • ActorLogging should be replaced with a logger consistent with the rest of the app
      • Events should be posted to the event bus:
      • health check added
      • health check removed
      • health check failed
      • health status changed

      Health checks look like this inside of an AppDefinition:

       javascript
      {
        // ...
      
        "healthChecks": [
          {
            "protocol": "HTTP",
            "acceptableResponses": [200],
            "path": "/health",
            "initialDelaySeconds": 10,
            "intervalSeconds": 5,
            "portIndex": 0,
            "timeoutSeconds": 10
          },
          {
            "protocol": "TCP",
            "initialDelaySeconds": 10,
            "intervalSeconds": 5,
            "portIndex": 0,
            "timeoutSeconds": 10
          }
        ]
      }
      

      The status of each health check is reported internally as follows for each active task:

       scala
      case class Health(
        taskId: String,
        firstSuccess: Option[Timestamp] = None,
        lastSuccess: Option[Timestamp] = None,
        lastFailure: Option[Timestamp] = None,
        lastFailureCause: Option[String] = None,
        consecutiveFailures: Int = 0
      )
      

        Attachments

          Activity

            People

            • Assignee:
              GitHub_ConnorDoyle Connor Doyle (Inactive)
              Reporter:
              GitHub_ConnorDoyle Connor Doyle (Inactive)
              Team:
              Orchestration Team
              Watchers:
            • Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: