|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.zookeeper.server.persistence.FileTxnSnapLog
public class FileTxnSnapLog
This is a helper class above the implementations of txnlog and snapshot classes
Nested Class Summary | |
---|---|
static interface |
FileTxnSnapLog.PlayBackListener
This listener helps the external apis calling restore to gather information while the data is being restored. |
Field Summary | |
---|---|
static java.lang.String |
version
|
static int |
VERSION
|
Constructor Summary | |
---|---|
FileTxnSnapLog(java.io.File dataDir,
java.io.File snapDir)
the constructor which takes the datadir and snapdir. |
Method Summary | |
---|---|
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 that are greater 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 |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int VERSION
public static final java.lang.String version
Constructor Detail |
---|
public FileTxnSnapLog(java.io.File dataDir, java.io.File snapDir) throws java.io.IOException
dataDir
- the trasaction directorysnapDir
- the snapshot directory
java.io.IOException
Method Detail |
---|
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 restoration
java.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 applied
KeeperException.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 disk
java.io.IOException
public boolean truncateLog(long zxid) throws java.io.IOException
zxid
- the zxid to truncate the logs to
java.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 snapshots
java.io.IOException
public java.io.File[] getSnapshotLogs(long zxid)
zxid
- the zxid that contains logs greater than
zxid
public boolean append(Request si) throws java.io.IOException
si
- the request to be appended
returns true iff something appended, otw false
java.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
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |