@InterfaceAudience.Private @InterfaceStability.Evolving public class WALProcedureStore extends Object implements ProcedureStore
Modifier and Type | Class and Description |
---|---|
static interface |
WALProcedureStore.LeaseRecovery |
ProcedureStore.ProcedureStoreListener
Constructor and Description |
---|
WALProcedureStore(org.apache.hadoop.conf.Configuration conf,
org.apache.hadoop.fs.FileSystem fs,
org.apache.hadoop.fs.Path logDir,
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.
|
ArrayList<ProcedureWALFile> |
getActiveLogs() |
Set<ProcedureWALFile> |
getCorruptedLogs() |
org.apache.hadoop.fs.FileSystem |
getFileSystem() |
org.apache.hadoop.fs.Path |
getLogDir() |
protected org.apache.hadoop.fs.Path |
getLogFilePath(long logId) |
int |
getNumThreads() |
ProcedureStoreTracker |
getStoreTracker() |
void |
insert(Procedure proc,
Procedure[] subprocs)
When a procedure is submitted to the executor insert(proc, null) will be called.
|
boolean |
isRunning() |
Iterator<Procedure> |
load()
Load the Procedures in the store.
|
protected void |
periodicRollForTesting() |
void |
recoverLease()
Acquire the lease for the procedure store.
|
void |
registerListener(ProcedureStore.ProcedureStoreListener listener)
Add the listener to the notification list.
|
protected boolean |
rollWriterForTesting() |
protected void |
sendPostSyncSignal() |
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) |
boolean |
unregisterListener(ProcedureStore.ProcedureStoreListener listener)
Remove the listener from the notification list.
|
void |
update(Procedure proc)
The specified procedure was executed,
and the new state should be written to the store.
|
public WALProcedureStore(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.fs.Path logDir, WALProcedureStore.LeaseRecovery leaseRecovery)
public void start(int numSlots) throws IOException
ProcedureStore
start
in interface ProcedureStore
IOException
public void stop(boolean abort)
ProcedureStore
stop
in interface ProcedureStore
abort
- true if the stop is an abortpublic boolean isRunning()
isRunning
in interface ProcedureStore
public int getNumThreads()
getNumThreads
in interface ProcedureStore
public ProcedureStoreTracker getStoreTracker()
public ArrayList<ProcedureWALFile> getActiveLogs()
public Set<ProcedureWALFile> getCorruptedLogs()
public void registerListener(ProcedureStore.ProcedureStoreListener listener)
ProcedureStore
registerListener
in interface ProcedureStore
listener
- The AssignmentListener to registerpublic boolean unregisterListener(ProcedureStore.ProcedureStoreListener listener)
ProcedureStore
unregisterListener
in interface ProcedureStore
listener
- The AssignmentListener to unregisterpublic void recoverLease() throws IOException
ProcedureStore
recoverLease
in interface ProcedureStore
IOException
public Iterator<Procedure> load() throws IOException
ProcedureStore
load
in interface ProcedureStore
IOException
public void insert(Procedure proc, Procedure[] subprocs)
ProcedureStore
insert
in interface 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
update
in interface ProcedureStore
proc
- the procedure to serialize and write to the store.public void delete(long procId)
ProcedureStore
delete
in interface ProcedureStore
procId
- the ID of the procedure to remove.protected long syncSlots(org.apache.hadoop.fs.FSDataOutputStream stream, ByteSlot[] slots, int offset, int count) throws IOException
IOException
protected void sendPostSyncSignal()
protected void periodicRollForTesting() throws IOException
IOException
protected boolean rollWriterForTesting() throws IOException
IOException
public org.apache.hadoop.fs.Path getLogDir()
public org.apache.hadoop.fs.FileSystem getFileSystem()
protected org.apache.hadoop.fs.Path getLogFilePath(long logId) throws IOException
IOException
Copyright © 2007-2016 The Apache Software Foundation. All Rights Reserved.