@InterfaceAudience.Private @InterfaceStability.Evolving public class WALProcedureStore extends ProcedureStoreBase
Modifier and Type | Class and Description |
---|---|
static interface |
WALProcedureStore.LeaseRecovery |
static class |
WALProcedureStore.SyncMetrics |
ProcedureStore.ProcedureIterator, ProcedureStore.ProcedureLoader, ProcedureStore.ProcedureStoreListener
Modifier and Type | Field and Description |
---|---|
static String |
MAX_RETRIES_BEFORE_ROLL_CONF_KEY |
static String |
MAX_SYNC_FAILURE_ROLL_CONF_KEY |
static String |
PERIODIC_ROLL_CONF_KEY |
static String |
ROLL_RETRIES_CONF_KEY |
static String |
ROLL_THRESHOLD_CONF_KEY |
static String |
STORE_WAL_SYNC_STATS_COUNT |
static String |
SYNC_WAIT_MSEC_CONF_KEY |
static String |
USE_HSYNC_CONF_KEY |
static String |
WAIT_BEFORE_ROLL_CONF_KEY |
Constructor and Description |
---|
WALProcedureStore(org.apache.hadoop.conf.Configuration conf,
org.apache.hadoop.fs.FileSystem fs,
org.apache.hadoop.fs.Path walDir,
WALProcedureStore.LeaseRecovery leaseRecovery) |
Modifier and Type | Method and Description |
---|---|
void |
delete(long procId)
The specified procId was removed from the executor,
due to completion, abort or failure.
|
void |
delete(Procedure proc,
long[] subProcIds)
The parent procedure completed.
|
ArrayList<ProcedureWALFile> |
getActiveLogs() |
Set<ProcedureWALFile> |
getCorruptedLogs() |
org.apache.hadoop.fs.FileSystem |
getFileSystem() |
protected org.apache.hadoop.fs.Path |
getLogFilePath(long logId) |
long |
getMillisFromLastRoll() |
long |
getMillisToNextPeriodicRoll() |
int |
getNumThreads() |
ProcedureStoreTracker |
getStoreTracker() |
ArrayList<WALProcedureStore.SyncMetrics> |
getSyncMetrics() |
org.apache.hadoop.fs.Path |
getWALDir() |
void |
insert(Procedure proc,
Procedure[] subprocs)
When a procedure is submitted to the executor insert(proc, null) will be called.
|
void |
load(ProcedureStore.ProcedureLoader loader)
Load the Procedures in the store.
|
protected void |
periodicRollForTesting() |
void |
recoverLease()
Acquire the lease for the procedure store.
|
protected boolean |
rollWriterForTesting() |
void |
start(int numSlots)
Start/Open the procedure store
|
void |
stop(boolean abort)
Stop/Close the procedure store
|
protected long |
syncSlots(org.apache.hadoop.fs.FSDataOutputStream stream,
ByteSlot[] slots,
int offset,
int count) |
void |
update(Procedure proc)
The specified procedure was executed,
and the new state should be written to the store.
|
isRunning, registerListener, sendAbortProcessSignal, sendPostSyncSignal, setRunning, unregisterListener
public static final String MAX_RETRIES_BEFORE_ROLL_CONF_KEY
public static final String WAIT_BEFORE_ROLL_CONF_KEY
public static final String ROLL_RETRIES_CONF_KEY
public static final String MAX_SYNC_FAILURE_ROLL_CONF_KEY
public static final String PERIODIC_ROLL_CONF_KEY
public static final String SYNC_WAIT_MSEC_CONF_KEY
public static final String USE_HSYNC_CONF_KEY
public static final String ROLL_THRESHOLD_CONF_KEY
public static final String STORE_WAL_SYNC_STATS_COUNT
public WALProcedureStore(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.fs.Path walDir, WALProcedureStore.LeaseRecovery leaseRecovery)
public void start(int numSlots) throws IOException
ProcedureStore
IOException
public void stop(boolean abort)
ProcedureStore
abort
- true if the stop is an abortpublic int getNumThreads()
public ProcedureStoreTracker getStoreTracker()
public ArrayList<ProcedureWALFile> getActiveLogs()
public Set<ProcedureWALFile> getCorruptedLogs()
public void recoverLease() throws IOException
ProcedureStore
IOException
public void load(ProcedureStore.ProcedureLoader loader) throws IOException
ProcedureStore
loader
- the ProcedureLoader that will handle the store-load eventsIOException
public void insert(Procedure proc, Procedure[] subprocs)
ProcedureStore
proc
- the procedure to serialize and write to the store.subprocs
- the newly created child of the proc.public void update(Procedure proc)
ProcedureStore
proc
- the procedure to serialize and write to the store.public void delete(long procId)
ProcedureStore
procId
- the ID of the procedure to remove.public void delete(Procedure proc, long[] subProcIds)
ProcedureStore
proc
- the parent procedure to serialize and write to the store.subProcIds
- the IDs of the sub-procedure to remove.public ArrayList<WALProcedureStore.SyncMetrics> getSyncMetrics()
protected long syncSlots(org.apache.hadoop.fs.FSDataOutputStream stream, ByteSlot[] slots, int offset, int count) throws IOException
IOException
public long getMillisToNextPeriodicRoll()
public long getMillisFromLastRoll()
protected void periodicRollForTesting() throws IOException
IOException
protected boolean rollWriterForTesting() throws IOException
IOException
public org.apache.hadoop.fs.Path getWALDir()
public org.apache.hadoop.fs.FileSystem getFileSystem()
protected org.apache.hadoop.fs.Path getLogFilePath(long logId) throws IOException
IOException
Copyright © 2007–2019 The Apache Software Foundation. All rights reserved.