org.apache.hadoop.contrib.failmon
Class PersistentState

java.lang.Object
  extended by org.apache.hadoop.contrib.failmon.PersistentState

public class PersistentState
extends Object

This class takes care of the information that needs to be persistently stored locally on nodes. Bookkeeping is done for the state of parsing of log files, so that the portion of the file that has already been parsed in previous calls will not be parsed again. For each log file, we maintain the byte offset of the last character parsed in previous passes. Also, the first entry in the log file is stored, so that FailMon can determine when a log file has been rotated (and thus parsing needs to start from the beginning of the file). We use a property file to store that information. For each log file we create a property keyed by the filename, the value of which contains the byte offset and first log entry separated by a SEPARATOR.


Constructor Summary
PersistentState()
           
 
Method Summary
static org.apache.hadoop.contrib.failmon.ParseState getState(String fname)
          Read and return the state of parsing for a particular log file.
static void readState(String fname)
          Read the state of parsing for all open log files from a property file.
static void setState(org.apache.hadoop.contrib.failmon.ParseState state)
          Set the state of parsing for a particular log file.
static void updateState(String filename, String firstLine, long offset)
          Upadate the state of parsing for a particular log file.
static void writeState(String fname)
          Write the state of parsing for all open log files to a property file on disk.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PersistentState

public PersistentState()
Method Detail

readState

public static void readState(String fname)
Read the state of parsing for all open log files from a property file.

Parameters:
fname - the filename of the property file to be read

getState

public static org.apache.hadoop.contrib.failmon.ParseState getState(String fname)
Read and return the state of parsing for a particular log file.

Parameters:
fname - the log file for which to read the state

setState

public static void setState(org.apache.hadoop.contrib.failmon.ParseState state)
Set the state of parsing for a particular log file.

Parameters:
state - the ParseState to set

updateState

public static void updateState(String filename,
                               String firstLine,
                               long offset)
Upadate the state of parsing for a particular log file.

Parameters:
filename - the log file for which to update the state
firstLine - the first line of the log file currently
offset - the byte offset of the last character parsed

writeState

public static void writeState(String fname)
Write the state of parsing for all open log files to a property file on disk.

Parameters:
fname - the filename of the property file to write to


Copyright © 2009 The Apache Software Foundation