public class LocalFileTransactionStateStorage extends AbstractTransactionStateStorage
codecProvider
Constructor and Description |
---|
LocalFileTransactionStateStorage(org.apache.hadoop.conf.Configuration conf,
SnapshotCodecProvider codecProvider,
MetricsCollector metricsCollector) |
Modifier and Type | Method and Description |
---|---|
TransactionLog |
createLog(long timestamp)
Creates a new
TransactionLog . |
void |
deleteLogsOlderThan(long timestamp)
Removes any transaction logs with a timestamp older than the given value.
|
long |
deleteOldSnapshots(int numberToKeep)
Removes any snapshots prior to the
numberToKeep most recent. |
TransactionSnapshot |
getLatestSnapshot()
Returns the most recent snapshot that has been successfully written.
|
TransactionVisibilityState |
getLatestTransactionVisibilityState()
Returns the most recent transaction visibility state that has been successfully written.
|
String |
getLocation()
Returns a string representation of the location used for persistence.
|
List<TransactionLog> |
getLogsSince(long timestamp)
Returns all
TransactionLog s with a timestamp greater than or equal to the given timestamp. |
List<String> |
listLogs()
Returns the (non-qualified) names of available logs.
|
List<String> |
listSnapshots()
Returns the (non-qualified) names of available snapshots.
|
void |
setupStorage()
Create the directories required for the transaction state stage.
|
protected void |
shutDown() |
protected void |
startUp() |
void |
writeSnapshot(TransactionSnapshot snapshot)
Persists a snapshot of transaction state.
|
writeSnapshot
addListener, executor, isRunning, start, startAndWait, state, stop, stopAndWait, toString
@Inject public LocalFileTransactionStateStorage(org.apache.hadoop.conf.Configuration conf, SnapshotCodecProvider codecProvider, MetricsCollector metricsCollector)
protected void startUp() throws Exception
startUp
in class com.google.common.util.concurrent.AbstractIdleService
Exception
protected void shutDown() throws Exception
shutDown
in class com.google.common.util.concurrent.AbstractIdleService
Exception
public String getLocation()
TransactionStateStorage
public void writeSnapshot(TransactionSnapshot snapshot) throws IOException
TransactionStateStorage
IOException
public TransactionSnapshot getLatestSnapshot() throws IOException
TransactionStateStorage
null
if no completed snapshot files are found.IOException
public TransactionVisibilityState getLatestTransactionVisibilityState() throws IOException
TransactionStateStorage
null
if no completed snapshot files are found.TransactionVisibilityState
IOException
public long deleteOldSnapshots(int numberToKeep) throws IOException
TransactionStateStorage
numberToKeep
most recent.numberToKeep
- The number of most recent snapshots to keep.IOException
- If an error occurs while deleting old snapshots.public List<String> listSnapshots() throws IOException
TransactionStateStorage
IOException
public List<TransactionLog> getLogsSince(long timestamp) throws IOException
TransactionStateStorage
TransactionLog
s with a timestamp greater than or equal to the given timestamp. Note that
the returned list is guaranteed to be sorted in ascending timestamp order.IOException
public TransactionLog createLog(long timestamp) throws IOException
TransactionStateStorage
TransactionLog
.IOException
public void deleteLogsOlderThan(long timestamp) throws IOException
TransactionStateStorage
timestamp
- The timestamp to delete up to. Logs with a timestamp less than this value will be removed.IOException
- If an error occurs while removing logs.public void setupStorage() throws IOException
TransactionStateStorage
IOException
- If an error occurred during the creation of required directories for transaction state storage.public List<String> listLogs() throws IOException
TransactionStateStorage
IOException
Copyright © 2016 The Apache Software Foundation. All rights reserved.