Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-5622

add a Pingable interface with a Ping() method for checking the health of things

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Won't Fix
    • 0.21.0
    • None
    • util
    • None

    Description

      I'm filing this as part of the plan for getting HADOOP-3628 checked in: separate Ping() from everything else so that it can go in later/separately, and apply to more bits of the code than just the node root threads . The various helper classes that they use underneath could be marked as Pingable so that the health check operations could move the workload down.

      Use cases

      1. Pingable Filesystem and MapReduce services: namenode, datanode, job-tracker, task-tracker, etc
      2. Eventually : Pingable pig/cascading,HBase services
      3. Implementation of the ping operation in the services by calling their in-JVM classes and aggregating the results
      4. in JVM-health checks (JMX operations etc)
      5. Over RMI/REST Smartfrog health checks (my use case)
      6. Thrift and other wire format health checks
      7. Public HTTP checks that return an error code with XML or JSON output.
      8. Command line tools (that could check the HTTP pages)
      9. Make it easy to test

      The current HADOOP-3628 ping() operation includes the service state from the proposed service lifecycle, and a list of nested exceptions; it only works in -VM. To work in more use cases

      1. It needs to move to a serialized exception format - the ThrowableWritable of HADOOP-5348.
      2. We need to consider how best to return the far-end's state.

      I'm going offline for two weeks; here is somewhere for people to add their thoughts and work for me when I get back.

      Attachments

        Issue Links

          Activity

            People

              stevel@apache.org Steve Loughran
              stevel@apache.org Steve Loughran
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: