public class FileTxnSnapLog
extends java.lang.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 java.lang.String |
version |
static int |
VERSION |
Constructor and Description |
---|
FileTxnSnapLog(java.io.File dataDir,
java.io.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
|
java.io.File |
findMostRecentSnapshot()
the most recent snapshot in the snapshot
directory
|
java.util.List<java.io.File> |
findNRecentSnapshots(int n)
the n most recent snapshots
|
java.io.File |
getDataDir()
get the datadir used by this filetxn
snap log
|
long |
getLastLoggedZxid()
the last logged zxid on the transaction logs
|
java.io.File |
getSnapDir()
get the snap dir used by this
filetxn snap log
|
java.io.File[] |
getSnapshotLogs(long zxid)
get the snapshot logs which may contain transactions newer than the given zxid.
|
void |
processTransaction(TxnHeader hdr,
DataTree dt,
java.util.Map<java.lang.Long,java.lang.Integer> sessions,
org.apache.jute.Record txn)
process the transaction on the datatree
|
long |
restore(DataTree dt,
java.util.Map<java.lang.Long,java.lang.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,
java.util.concurrent.ConcurrentHashMap<java.lang.Long,java.lang.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 java.lang.String version
public FileTxnSnapLog(java.io.File dataDir, java.io.File snapDir) throws java.io.IOException
dataDir
- the trasaction directorysnapDir
- the snapshot directoryjava.io.IOException
public java.io.File getDataDir()
public java.io.File getSnapDir()
public long restore(DataTree dt, java.util.Map<java.lang.Long,java.lang.Integer> sessions, FileTxnSnapLog.PlayBackListener listener) throws java.io.IOException
dt
- the datatree to be restoredsessions
- the sessions to be restoredlistener
- the playback listener to run on the
database restorationjava.io.IOException
public void processTransaction(TxnHeader hdr, DataTree dt, java.util.Map<java.lang.Long,java.lang.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, java.util.concurrent.ConcurrentHashMap<java.lang.Long,java.lang.Integer> sessionsWithTimeouts) throws java.io.IOException
dataTree
- the datatree to be serialized onto disksessionsWithTimeouts
- the sesssion timeouts to be
serialized onto diskjava.io.IOException
public boolean truncateLog(long zxid) throws java.io.IOException
zxid
- the zxid to truncate the logs tojava.io.IOException
public java.io.File findMostRecentSnapshot() throws java.io.IOException
java.io.IOException
public java.util.List<java.io.File> findNRecentSnapshots(int n) throws java.io.IOException
n
- the number of recent snapshotsjava.io.IOException
public java.io.File[] getSnapshotLogs(long zxid)
zxid
- the zxid that contains logs greater than
zxidpublic boolean append(Request si) throws java.io.IOException
si
- the request to be appended
returns true iff something appended, otw falsejava.io.IOException
public void commit() throws java.io.IOException
java.io.IOException
public void rollLog() throws java.io.IOException
java.io.IOException
public void close() throws java.io.IOException
java.io.IOException
Copyright © 2017 The Apache Software Foundation