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.

Search Discussions

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupcommon-dev @
postedApr 3, '09 at 11:48a
activeApr 3, '09 at 11:48a

1 user in discussion

Steve Loughran (JIRA): 1 post



site design / logo © 2021 Grokbase