public class FileTxnSnapLog extends Object
| Modifier and Type | Class and Description |
|---|---|
static interface |
FileTxnSnapLog.PlayBackListener
This listener helps
the external apis calling
restore to gather information
while the data is being
restored.
|
| Modifier and Type | Field and Description |
|---|---|
static String |
version |
static int |
VERSION |
| Constructor and Description |
|---|
FileTxnSnapLog(File dataDir,
File snapDir)
the constructor which takes the datadir and
snapdir.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
append(Request si)
append the request to the transaction logs
|
void |
close()
close the transaction log files
|
void |
commit()
commit the transaction of logs
|
File |
findMostRecentSnapshot()
the most recent snapshot in the snapshot
directory
|
List<File> |
findNRecentSnapshots(int n)
the n most recent snapshots
|
File |
getDataDir()
get the datadir used by this filetxn
snap log
|
long |
getLastLoggedZxid()
the last logged zxid on the transaction logs
|
File |
getSnapDir()
get the snap dir used by this
filetxn snap log
|
File[] |
getSnapshotLogs(long zxid)
get the snapshot logs that are greater than
the given zxid
|
void |
processTransaction(TxnHeader hdr,
DataTree dt,
Map<Long,Integer> sessions,
org.apache.jute.Record txn)
process the transaction on the datatree
|
long |
restore(DataTree dt,
Map<Long,Integer> sessions,
FileTxnSnapLog.PlayBackListener listener)
this function restores the server
database after reading from the
snapshots and transaction logs
|
void |
rollLog()
roll the transaction logs
|
void |
save(DataTree dataTree,
ConcurrentHashMap<Long,Integer> sessionsWithTimeouts)
save the datatree and the sessions into a snapshot
|
boolean |
truncateLog(long zxid)
truncate the transaction logs the zxid
specified
|
public static final int VERSION
public static final String version
public FileTxnSnapLog(File dataDir, File snapDir) throws IOException
dataDir - the trasaction directorysnapDir - the snapshot directoryIOExceptionpublic File getDataDir()
public File getSnapDir()
public long restore(DataTree dt, Map<Long,Integer> sessions, FileTxnSnapLog.PlayBackListener listener) throws IOException
dt - the datatree to be restoredsessions - the sessions to be restoredlistener - the playback listener to run on the
database restorationIOExceptionpublic void processTransaction(TxnHeader hdr, DataTree dt, Map<Long,Integer> sessions, org.apache.jute.Record txn) throws KeeperException.NoNodeException
hdr - the hdr of the transactiondt - the datatree to apply transaction tosessions - the sessions to be restoredtxn - the transaction to be appliedKeeperException.NoNodeExceptionpublic long getLastLoggedZxid()
public void save(DataTree dataTree, ConcurrentHashMap<Long,Integer> sessionsWithTimeouts) throws IOException
dataTree - the datatree to be serialized onto disksessionsWithTimeouts - the sesssion timeouts to be
serialized onto diskIOExceptionpublic boolean truncateLog(long zxid)
throws IOException
zxid - the zxid to truncate the logs toIOExceptionpublic File findMostRecentSnapshot() throws IOException
IOExceptionpublic List<File> findNRecentSnapshots(int n) throws IOException
n - the number of recent snapshotsIOExceptionpublic File[] getSnapshotLogs(long zxid)
zxid - the zxid that contains logs greater than
zxidpublic boolean append(Request si) throws IOException
si - the request to be appended
returns true iff something appended, otw falseIOExceptionpublic void commit()
throws IOException
IOExceptionpublic void rollLog()
throws IOException
IOExceptionpublic void close()
throws IOException
IOExceptionCopyright © 2014 The Apache Software Foundation