@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_FILTER
Filter *in* WAL files that are for the hbase:meta Region.
|
private MetricsMasterFileSystem |
metricsMasterFilesystem |
static org.apache.hadoop.fs.PathFilter |
NON_META_FILTER
Filter *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 |
splitLogManager
Deprecated.
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)
Returns listing of ServerNames found by parsing WAL directory paths in FS.
|
(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)
Returns List of all RegionServer WAL dirs; i.e.
|
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.SplitWALManager
private volatile boolean fsOk
public MasterWalManager(MasterServices services) throws IOException
IOException
public MasterWalManager(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.fs.FileSystem fs, MasterServices services) throws IOException
IOException
public 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
public Set<ServerName> getLiveServersFromWALDir() throws IOException
IOException
public Set<ServerName> getServerNamesFromWALDirPath(org.apache.hadoop.fs.PathFilter filter) throws IOException
IOException
public 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.IOException
public void splitLog(ServerName serverName) throws IOException
IOException
public void splitMetaLog(ServerName serverName) throws IOException
serverName
- logs belonging to this server will be splitIOException
public void splitMetaLog(Set<ServerName> serverNames) throws IOException
serverNames
- logs belonging to these servers will be splitIOException
List<org.apache.hadoop.fs.Path> getLogDirs(Set<ServerName> serverNames) throws IOException
IOException
public void splitLog(Set<ServerName> serverNames) throws IOException
IOException
public 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 serverIOException
public void archiveMetaLog(ServerName serverName)
serverName
- the server to archive meta logCopyright © 2007–2020 The Apache Software Foundation. All rights reserved.