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



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


      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.


        Issue Links



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