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 directoryIOException
public 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 restorationIOException
public 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.NoNodeException
public 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 diskIOException
public boolean truncateLog(long zxid) throws IOException
zxid
- the zxid to truncate the logs toIOException
public File findMostRecentSnapshot() throws IOException
IOException
public List<File> findNRecentSnapshots(int n) throws IOException
n
- the number of recent snapshotsIOException
public 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 falseIOException
public void commit() throws IOException
IOException
public void rollLog() throws IOException
IOException
public void close() throws IOException
IOException
Copyright © 2016 The Apache Software Foundation