@InterfaceAudience.Private @InterfaceStability.Evolving public class DefaultWALProvider extends Object implements WALProvider
| Modifier and Type | Class and Description | 
|---|---|
static interface  | 
DefaultWALProvider.Reader  | 
static interface  | 
DefaultWALProvider.Writer  | 
| Modifier and Type | Field and Description | 
|---|---|
protected FSHLog | 
log  | 
static String | 
META_WAL_PROVIDER_ID
The hbase:meta region's WAL filename extension 
 | 
static String | 
SPLITTING_EXT
File Extension used while splitting an WAL into regions (HBASE-2312) 
 | 
static String | 
WAL_FILE_NAME_DELIMITER  | 
| Constructor and Description | 
|---|
DefaultWALProvider()  | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
close()
shutdown utstanding WALs and clean up any persisted state. 
 | 
static DefaultWALProvider.Writer | 
createWriter(Configuration conf,
            FileSystem fs,
            Path path,
            boolean overwritable)
public because of FSHLog. 
 | 
static long | 
extractFileNumFromWAL(Path walName)  | 
static long | 
extractFileNumFromWAL(WAL wal)
It returns the file create timestamp from the file name. 
 | 
static Path | 
getCurrentFileName(WAL wal)
return the current filename from the current wal. 
 | 
static long | 
getLogFileSize(WALFactory walFactory)
iff the given WALFactory is using the DefaultWALProvider for meta and/or non-meta,
 count the size of files (rolled and active). 
 | 
static long | 
getNumLogFiles(WALFactory walFactory)
iff the given WALFactory is using the DefaultWALProvider for meta and/or non-meta,
 count the number of files (rolled and active). 
 | 
static int | 
getNumRolledLogFiles(WAL wal)
returns the number of rolled WAL files. 
 | 
static ServerName | 
getServerNameFromWALDirectoryName(Configuration conf,
                                 String path)
Pulls a ServerName out of a Path generated according to our layout rules. 
 | 
static ServerName | 
getServerNameFromWALDirectoryName(Path logFile)
This function returns region server name from a log file name which is in one of the following
 formats:
 
   hdfs:// 
 | 
WAL | 
getWAL(byte[] identifier)  | 
static String | 
getWALDirectoryName(String serverName)
Construct the directory name for all WALs on a given server. 
 | 
void | 
init(WALFactory factory,
    Configuration conf,
    List<WALActionsListener> listeners,
    String providerId)
Set up the provider to create wals. 
 | 
static boolean | 
isMetaFile(Path p)  | 
void | 
shutdown()
persist outstanding WALs to storage and stop accepting new appends. 
 | 
static boolean | 
validateWALFilename(String filename)
A WAL file name is of the format:
 <wal-name> 
WAL_FILE_NAME_DELIMITER<file-creation-timestamp>[.meta]. | 
protected FSHLog log
public static final String WAL_FILE_NAME_DELIMITER
public static final String META_WAL_PROVIDER_ID
public static final String SPLITTING_EXT
public void init(WALFactory factory, Configuration conf, List<WALActionsListener> listeners, String providerId) throws IOException
WALProviderinit in interface WALProviderfactory - factory that made us, identity used for FS layout. may not be nullconf - may not be nulllisteners - may be nullproviderId - differentiate between providers from one facotry, used for FS layout. may be
                   nullIOExceptionpublic WAL getWAL(byte[] identifier) throws IOException
getWAL in interface WALProvideridentifier - may not be null. contents will not be altered.IOExceptionpublic void close()
           throws IOException
WALProviderclose in interface WALProviderIOExceptionpublic void shutdown()
              throws IOException
WALProvidershutdown in interface WALProviderIOExceptionpublic static long getNumLogFiles(WALFactory walFactory)
walFactory - may not be null.public static long getLogFileSize(WALFactory walFactory)
walFactory - may not be null.public static int getNumRolledLogFiles(WAL wal)
public static Path getCurrentFileName(WAL wal)
public static long extractFileNumFromWAL(WAL wal)
validateWALFilename(String)
 public until remaining tests move to o.a.h.h.walwal - must not be nullpublic static long extractFileNumFromWAL(Path walName)
public static boolean validateWALFilename(String filename)
WAL_FILE_NAME_DELIMITER<file-creation-timestamp>[.meta].
 provider-name is usually made up of a server-name and a provider-idfilename - name of the file to validatepublic static String getWALDirectoryName(String serverName)
serverName - Server name formatted as described in ServerName.logs/1.example.org,60030,12345 if
         serverName passed is
         1.example.org,60030,12345public static ServerName getServerNameFromWALDirectoryName(Configuration conf, String path) throws IOException
IOExceptionpublic static ServerName getServerNameFromWALDirectoryName(Path logFile)
logFile - public static boolean isMetaFile(Path p)
public static DefaultWALProvider.Writer createWriter(Configuration conf, FileSystem fs, Path path, boolean overwritable) throws IOException
IOException