add a Pingable interface with a Ping() method for checking the health of things
-------------------------------------------------------------------------------
Key: HADOOP-5622
URL: https://issues.apache.org/jira/browse/HADOOP-5622
Project: Hadoop Core
Issue Type: Improvement
Components: util
Affects Versions: 0.21.0
Reporter: Steve Loughran
Assignee: Steve Loughran
Priority: Minor
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
# Pingable Filesystem and MapReduce services: namenode, datanode, job-tracker,
task-tracker, etc
# Eventually : Pingable pig/cascading,HBase services
# Implementation of the ping operation in the services by calling their in-JVM
classes and aggregating the results
# in JVM-health checks (JMX operations etc)
# Over RMI/REST Smartfrog health checks (my use case)
# Thrift and other wire format health checks
# Public HTTP checks that return an error code with XML or JSON output.
# Command line tools (that could check the HTTP pages)
# 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
# It needs to move to a serialized exception format - the ThrowableWritable of
HADOOP-5348.
# 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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.