@InterfaceAudience.Private public class MasterWalManager extends Object
| Modifier and Type | Field and Description | 
|---|---|
| private org.apache.hadoop.conf.Configuration | conf | 
| private org.apache.hadoop.fs.FileSystem | fs | 
| private boolean | fsOk | 
| private static org.slf4j.Logger | LOG | 
| (package private) static org.apache.hadoop.fs.PathFilter | META_FILTERFilter *in* WAL files that are for the hbase:meta Region. | 
| private MetricsMasterFileSystem | metricsMasterFilesystem | 
| static org.apache.hadoop.fs.PathFilter | NON_META_FILTERFilter *out* WAL files that are for the hbase:meta Region; i.e. | 
| private org.apache.hadoop.fs.Path | oldLogDir | 
| private org.apache.hadoop.fs.Path | rootDir | 
| private MasterServices | services | 
| private Lock | splitLogLock | 
| private SplitLogManager | splitLogManagerDeprecated. 
 since 2.3.0 and 3.0.0 to be removed in 4.0.0; replaced by  SplitWALManager. | 
| Constructor and Description | 
|---|
| MasterWalManager(org.apache.hadoop.conf.Configuration conf,
                org.apache.hadoop.fs.FileSystem fs,
                MasterServices services) | 
| MasterWalManager(MasterServices services) | 
| Modifier and Type | Method and Description | 
|---|---|
| void | archiveMetaLog(ServerName serverName)The hbase:meta region may OPEN and CLOSE without issue on a server and then move elsewhere. | 
| private boolean | checkFileSystem()Checks to see if the file system is still accessible. | 
| Set<ServerName> | getFailedServersFromLogFolders()Deprecated. 
 With proc-v2, we can record the crash server with procedure store, so do not need
             to scan the wal directory to find out the splitting wal directory any more. Leave
             it here only because  RecoverMetaProcedure(which is also deprecated) uses
             it. | 
| org.apache.hadoop.fs.FileSystem | getFileSystem() | 
| Set<ServerName> | getLiveServersFromWALDir()Get Servernames that COULD BE 'alive'; excludes those that have a '-splitting' suffix as these
 are already being split -- they cannot be 'alive'. | 
| (package private) List<org.apache.hadoop.fs.Path> | getLogDirs(Set<ServerName> serverNames) | 
| (package private) org.apache.hadoop.fs.Path | getOldLogDir()Get the directory where old logs go | 
| Set<ServerName> | getServerNamesFromWALDirPath(org.apache.hadoop.fs.PathFilter filter) | 
| (package private) SplitLogManager | getSplitLogManager() | 
| Set<ServerName> | getSplittingServersFromWALDir()Get Servernames which are currently splitting; paths have a '-splitting' suffix. | 
| org.apache.hadoop.fs.FileStatus[] | getWALDirPaths(org.apache.hadoop.fs.PathFilter filter) | 
| void | splitLog(ServerName serverName) | 
| void | splitLog(Set<ServerName> serverNames) | 
| void | splitLog(Set<ServerName> serverNames,
        org.apache.hadoop.fs.PathFilter filter)This method is the base split method that splits WAL files matching a filter. | 
| void | splitMetaLog(ServerName serverName)Specialized method to handle the splitting for meta WAL | 
| void | splitMetaLog(Set<ServerName> serverNames)Specialized method to handle the splitting for meta WAL | 
| void | stop() | 
private static final org.slf4j.Logger LOG
static final org.apache.hadoop.fs.PathFilter META_FILTER
public static final org.apache.hadoop.fs.PathFilter NON_META_FILTER
private final MetricsMasterFileSystem metricsMasterFilesystem
private final MasterServices services
private final org.apache.hadoop.conf.Configuration conf
private final org.apache.hadoop.fs.FileSystem fs
private final org.apache.hadoop.fs.Path oldLogDir
private final org.apache.hadoop.fs.Path rootDir
private final Lock splitLogLock
@Deprecated private final SplitLogManager splitLogManager
SplitWALManager.SplitWALManager; i.e. procedure-based WAL splitting rather than
   'classic' zk-coordinated WAL splitting.SplitWALManagerprivate volatile boolean fsOk
public MasterWalManager(MasterServices services) throws IOException
IOExceptionpublic MasterWalManager(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.fs.FileSystem fs, MasterServices services) throws IOException
IOExceptionpublic void stop()
SplitLogManager getSplitLogManager()
org.apache.hadoop.fs.Path getOldLogDir()
public org.apache.hadoop.fs.FileSystem getFileSystem()
private boolean checkFileSystem()
public Set<ServerName> getSplittingServersFromWALDir() throws IOException
IOException - IOExceptionpublic Set<ServerName> getLiveServersFromWALDir() throws IOException
IOException - IOExceptionpublic Set<ServerName> getServerNamesFromWALDirPath(org.apache.hadoop.fs.PathFilter filter) throws IOException
IOExceptionpublic org.apache.hadoop.fs.FileStatus[] getWALDirPaths(org.apache.hadoop.fs.PathFilter filter) throws IOException
IOException@Deprecated public Set<ServerName> getFailedServersFromLogFolders() throws IOException
RecoverMetaProcedure(which is also deprecated) uses
             it.IOExceptionpublic void splitLog(ServerName serverName) throws IOException
IOExceptionpublic void splitMetaLog(ServerName serverName) throws IOException
serverName - logs belonging to this server will be splitIOExceptionpublic void splitMetaLog(Set<ServerName> serverNames) throws IOException
serverNames - logs belonging to these servers will be splitIOExceptionList<org.apache.hadoop.fs.Path> getLogDirs(Set<ServerName> serverNames) throws IOException
IOExceptionpublic void splitLog(Set<ServerName> serverNames) throws IOException
IOExceptionpublic void splitLog(Set<ServerName> serverNames, org.apache.hadoop.fs.PathFilter filter) throws IOException
serverNames - logs belonging to these servers will be split; this will rename the log
                    directory out from under a soft-failed serverIOExceptionpublic void archiveMetaLog(ServerName serverName)
serverName - the server to archive meta logCopyright © 2007–2021 The Apache Software Foundation. All rights reserved.