@InterfaceAudience.Private public interface WALProvider
See DefaultWALProvider
for an example implementation.
A single WALProvider will be used for retrieving multiple WALs in a particular region server
and must be threadsafe.
Modifier and Type | Interface and Description |
---|---|
static interface |
WALProvider.Writer |
Modifier and Type | Method and Description |
---|---|
void |
close()
shutdown utstanding WALs and clean up any persisted state.
|
WAL |
getWAL(byte[] identifier) |
void |
init(WALFactory factory,
Configuration conf,
List<WALActionsListener> listeners,
String providerId)
Set up the provider to create wals.
|
void |
shutdown()
persist outstanding WALs to storage and stop accepting new appends.
|
void init(WALFactory factory, Configuration conf, List<WALActionsListener> listeners, String providerId) throws IOException
factory
- factory that made us may not be nullconf
- may not be nulllisteners
- may be nullproviderId
- differentiate between providers from one factory. may be nullIOException
WAL getWAL(byte[] identifier) throws IOException
identifier
- may not be null. contents will not be altered.IOException
void shutdown() throws IOException
IOException
void close() throws IOException
IOException