| Package | Description |
|---|---|
| com.sleepycat.je.cleaner |
INTERNAL: disk garbage collection.
|
| com.sleepycat.je.dbi |
INTERNAL: Underlying XxxImpl classes for Environment, Database and Cursor,
plus other misc classes (originally, dbi meant "db internal interface").
|
| com.sleepycat.je.log |
INTERNAL: Low level data storage including log entry sequential
logging/writing, random reading/fetching, and sequential reading.
|
| com.sleepycat.je.log.entry |
INTERNAL: Classes for serializing/materializing log entries.
|
| com.sleepycat.je.recovery |
INTERNAL: Performs recovery/startup processing during Environment open, and
checkpoints to bound recovery time.
|
| com.sleepycat.je.rep |
Berkeley DB Java Edition High Availability (JE HA) enables replication of JE
environments.
|
| com.sleepycat.je.rep.impl |
INTERNAL: Top level HA implementation classes.
|
| com.sleepycat.je.rep.impl.networkRestore |
INTERNAL: Protocol for
network restore. |
| com.sleepycat.je.rep.impl.node |
INTERNAL: Feeder and Replica node implementations.
|
| com.sleepycat.je.rep.impl.node.cbvlsn |
INTERNAL: Eventual burial ground for Cleaner Barrier VLSN (CBVLSN) classes,
currently used only for compatibility with old version nodes in a mixed
version group.
|
| com.sleepycat.je.rep.stream |
INTERNAL: Feeding and syncup (init) of rep stream from master node to
other node types (replicas, etc).
|
| com.sleepycat.je.rep.subscription |
INTERNAL: Subscription of rep stream for use by stream API in NoSQL DB.
|
| com.sleepycat.je.rep.txn |
INTERNAL: HA Txn/Locker subclasses for enforcing consistency and durability
constraints.
|
| com.sleepycat.je.rep.util.ldiff |
INTERNAL: LDiff debugging utility for comparing databases on different
nodes in a group.
|
| com.sleepycat.je.rep.utilint |
INTERNAL: Command line and programmatic utilities.
|
| com.sleepycat.je.rep.vlsn |
INTERNAL: VLSN index (in-memory and persistent) for mapping VLSNs to LSNs.
|
| com.sleepycat.je.txn |
INTERNAL: Transaction management and locking (concurrency control).
|
| com.sleepycat.je.utilint |
INTERNAL: Misc utility classes, including some stat classes.
|
| Modifier and Type | Field and Description |
|---|---|
VLSN |
ReservedFileInfo.firstVLSN |
VLSN |
ReservedFileInfo.lastVLSN |
| Modifier and Type | Method and Description |
|---|---|
Pair<VLSN,Long> |
FileProtector.checkVLSNIndexTruncation(long bytesNeeded,
VLSN preserveVLSN)
Determines whether the VLSNIndex ProtectedFileRange should be advanced
to reclaim bytesNeeded.
|
| Modifier and Type | Method and Description |
|---|---|
Pair<VLSN,Long> |
FileProtector.checkVLSNIndexTruncation(long bytesNeeded,
VLSN preserveVLSN)
Determines whether the VLSNIndex ProtectedFileRange should be advanced
to reclaim bytesNeeded.
|
| Modifier and Type | Method and Description |
|---|---|
VLSN |
EnvironmentImpl.assignVLSNs(LogEntry entry)
Computes and assigns VLSNs as needed to this log item for a replicated
log record.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
EnvironmentImpl.tryTruncateVlsnHead(VLSN deleteEnd,
long deleteFileNum)
Truncate the head of the VLSNIndex to unprotect the given file, if
possible.
|
| Modifier and Type | Method and Description |
|---|---|
VLSN |
ReplicationContext.getClientVLSN() |
VLSN |
CleanerFileReader.getFirstVLSN()
Returns the first VLSN encountered, or NULL_VLSN if no entries were
replicated.
|
VLSN |
FileReader.getLastVlsn()
Returns the VLSN of the last entry read, or null if the entry has no
VLSN (not replicated and has no migrated VLSN).
|
VLSN |
CleanerFileReader.getLastVLSN()
Returns the last VLSN encountered, or NULL_VLSN if no entries were
replicated.
|
VLSN |
LogEntryHeader.getVLSN() |
| Modifier and Type | Method and Description |
|---|---|
ByteBuffer |
LogEntryHeader.addPostMarshallingInfo(ByteBuffer entryBuffer,
long lastOffset,
VLSN vlsn)
Add those parts of the header that must be calculated later to the
entryBuffer, and also assign the fields in this class.
|
| Constructor and Description |
|---|
DbOpReplicationContext(VLSN vlsn,
NameLNLogEntry nameLNEntry)
Create a repContext for executing a databaseOperation on the client.
|
LogEntryHeader(byte entryType,
int entryVersion,
int itemSize,
VLSN vlsn)
For reading a replication message.
|
ReplicationContext(VLSN clientVLSN)
Used to pass the VLSN held in an arriving message down to the logging
levels.
|
ReplicationContext(VLSN clientVLSN,
boolean inReplicationStream)
Used to pass the VLSN held in a migrated LN down to the logging levels.
|
| Modifier and Type | Method and Description |
|---|---|
void |
LNLogEntry.postLogWork(LogEntryHeader header,
long justLoggedLsn,
VLSN vlsn)
For LN entries, we need to record the latest LSN for that node with the
owning transaction, within the protection of the log latch.
|
void |
LogEntry.postLogWork(LogEntryHeader header,
long justLoggedLsn,
VLSN vlsn)
Do any processing we need to do after logging, while under the logging
latch.
|
void |
ErasedLogEntry.postLogWork(LogEntryHeader header,
long justLoggedLsn,
VLSN vlsn) |
| Modifier and Type | Field and Description |
|---|---|
VLSN |
RecoveryInfo.lastMissingFileVLSN |
| Modifier and Type | Method and Description |
|---|---|
VLSN |
GroupShutdownException.getShutdownVLSN()
For internal use only.
|
| Constructor and Description |
|---|
GroupShutdownException(Logger logger,
RepImpl repImpl,
String masterNodeName,
VLSN shutdownVLSN,
long shutdownTimeMs)
For internal use only.
|
InsufficientLogException(RepImpl repImpl,
VLSN refreshVLSN) |
RollbackException(RepImpl repImpl,
VLSN matchpointVLSN,
MatchpointSearchResults searchResults)
For internal use only.
|
RollbackProhibitedException(RepImpl repImpl,
int rollbackTxnLimit,
boolean rollbackDisabled,
VLSN matchpointVLSN,
MatchpointSearchResults searchResults)
For internal use only.
|
| Modifier and Type | Method and Description |
|---|---|
VLSN |
RepImpl.assignVLSNs(LogEntry entry)
{@literal
Generate the next VLSN and update the DTVLSN value in the item.
|
VLSN |
RepImpl.getLastTxnEnd() |
| Modifier and Type | Method and Description |
|---|---|
void |
RepGroupDB.reinitFirstNode(VLSN lastOldVLSN)
Deletes all the current members from the rep group database and creates
a new group, with just the member supplied via the configuration.
|
boolean |
RepImpl.tryTruncateVlsnHead(VLSN deleteEnd,
long deleteFileNum)
Truncate the head of the VLSNIndex to unprotect the given file, if
possible.
|
boolean |
RepGroupDB.updateLocalCBVLSN(NameIdPair nameIdPair,
VLSN newCBVLSN,
NodeType nodeType)
This method is not used when the CBVLSN is defunct -- see GlobalCBVLSN.
|
| Constructor and Description |
|---|
PointConsistencyPolicy(VLSN targetVLSN) |
PointConsistencyPolicy(VLSN targetVLSN,
long timeout,
TimeUnit timeoutUnit) |
| Modifier and Type | Method and Description |
|---|---|
VLSN |
Protocol.FeederInfoResp.getRangeFirst() |
VLSN |
Protocol.FeederInfoResp.getRangeLast() |
VLSN |
NetworkBackup.RejectedServerException.getRangeLast() |
| Constructor and Description |
|---|
FeederInfoResp(int activeFeeders,
VLSN rangeFirst,
VLSN rangeLast) |
NetworkBackup(InetSocketAddress serverSocket,
int receiveBufferSize,
File envDir,
NameIdPair clientNameId,
boolean retainLogfiles,
int serverLoadThreshold,
VLSN minVLSN,
RepImpl repImpl,
FileManager fileManager,
LogManager logManager,
DataChannelFactory channelFactory,
Properties exceptionProperties)
Creates a configured backup instance which when executed will backup the
files to the environment directory.
|
| Modifier and Type | Method and Description |
|---|---|
VLSN |
RepNode.getCurrentTxnEndVLSN()
Returns the latest VLSN associated with a replicated commit.
|
VLSN |
Feeder.getFeederVLSN()
Returns the next VLSN that will be sent to the replica.
|
VLSN |
RepNode.getGlobalCBVLSN()
Returns the global CBVLSN if it is not defunct, and otherwise a null
VLSN.
|
VLSN |
Replay.getLastReplayedVLSN() |
VLSN |
Feeder.getReplicaTxnEndVLSN()
Returns the latest commit VLSN that was acked by the replica, or
NULL_VLSN if no commit was acked since the time the feeder was
established.
|
VLSN |
RepNode.getRestoreResponseVLSN(VLSNRange range)
Returns a VLSN appropriate for the RestoreResponse.cbvlsn field when the
GlobalCBVLSN is not defunct, and otherwise a null VLSN.
|
VLSN |
Replica.getTxnEndVLSN() |
VLSN |
Replay.TxnInfo.getTxnVLSN() |
| Modifier and Type | Method and Description |
|---|---|
int |
FeederManager.getNumCurrentAckFeeders(VLSN commitVLSN)
Returns a count of the number of feeders whose replicas are counted in
durability decisions and have acknowledged txn-end VLSNs >=
the commitVLSN argument.
|
void |
Feeder.initMasterFeederSource(VLSN startVLSN)
Creates the MasterFeederSource, which must be done while all files in
the VLSNIndex range are protected by syncup.
|
void |
Replay.rollback(VLSN matchpointVLSN,
long matchpointLsn)
Go through all active txns and rollback up to but not including the log
entry represented by the matchpoint VLSN.
|
void |
RepNode.trackSyncableVLSN(VLSN syncableVLSN,
long lsn)
Should be called whenever a new VLSN is associated with a log entry
suitable for Replica/Feeder syncup.
|
| Constructor and Description |
|---|
HardRecoveryElectionException(NameIdPair masterNameIdPair,
VLSN lastTxnEnd,
VLSN matchpointVLSN) |
| Modifier and Type | Method and Description |
|---|---|
VLSN |
LocalCBVLSNTracker.getBroadcastCBVLSN() |
VLSN |
GlobalCBVLSN.getCBVLSN()
Returns the global CBVLSN if it is not defunct.
|
VLSN |
CleanerBarrierState.getLastCBVLSN() |
VLSN |
LocalCBVLSNTracker.getLastSyncableVLSN() |
VLSN |
GlobalCBVLSN.getRestoreResponseVLSN(VLSNRange range)
Returns a VLSN appropriate for the RestoreResponse.cbvlsn field when the
GlobalCBVLSN is not defunct.
|
| Modifier and Type | Method and Description |
|---|---|
void |
LocalCBVLSNTracker.registerMatchpoint(VLSN matchpoint)
If the GlobalVLSN is not defunct, initialize the local CBVLSN with the
syncup matchpoint, so that the heartbeat responses sent before the node
has replayed any log entries are still valid for saving a place in the
replication stream.
|
void |
LocalCBVLSNTracker.track(VLSN newVLSN,
long lsn)
If GlobalCBVLSN is defunct, does nothing.
|
| Constructor and Description |
|---|
CleanerBarrierState(VLSN lastLocalCBVLSN,
long barrierTime) |
| Modifier and Type | Field and Description |
|---|---|
VLSN |
MatchpointSearchResults.PassedTxnInfo.vlsn |
protected VLSN |
BaseProtocol.VLSNMessage.vlsn |
| Modifier and Type | Method and Description |
|---|---|
VLSN |
SubscriberFeederSyncup.execute(VLSN reqVLSN)
Execute sync-up to the Feeder.
|
VLSN |
FeederTxns.TxnInfo.getCommitVLSN()
Returns the VLSN associated with the committed txn, or null if the
txn has not yet been committed.
|
VLSN |
MatchpointSearchResults.getDTVLSN() |
VLSN |
ReplicaFeederSyncup.getMatchedVLSN() |
VLSN |
BaseProtocol.HeartbeatResponse.getSyncupVLSN() |
VLSN |
BaseProtocol.HeartbeatResponse.getTxnEndVLSN() |
VLSN |
FeederReplicaSyncup.NetworkRestoreException.getVlsn() |
VLSN |
InputWireRecord.getVLSN() |
VLSN |
OutputWireRecord.getVLSN() |
VLSN |
ReplicaSyncupReader.SkipGapException.getVLSN() |
| Modifier and Type | Method and Description |
|---|---|
VLSN |
SubscriberFeederSyncup.execute(VLSN reqVLSN)
Execute sync-up to the Feeder.
|
OutputWireRecord |
ArbiterFeederSource.getWireRecord(VLSN vlsn,
int waitTime) |
OutputWireRecord |
FeederSource.getWireRecord(VLSN vlsn,
int waitTime)
Must be called to allow deletion of files protected by this feeder.
|
OutputWireRecord |
MasterFeederSource.getWireRecord(VLSN vlsn,
int waitTime) |
long |
FeederReader.initScan(VLSN startVLSN)
Set up the FeederReader to start scanning from this VLSN.
|
OutputWireRecord |
FeederSyncupReader.scanBackwards(VLSN vlsn)
Backward scanning for records for the feeder's part in syncup.
|
OutputWireRecord |
ReplicaSyncupReader.scanBackwards(VLSN vlsn)
Backward scanning for the replica's part in syncup.
|
OutputWireRecord |
FeederReader.scanForwards(VLSN vlsn,
int waitTime)
Forward scanning for feeding the replica: get the log record for this
VLSN.
|
| Constructor and Description |
|---|
FeederSyncupReader(EnvironmentImpl envImpl,
VLSNIndex vlsnIndex,
long endOfLogLsn,
int readBufferSize,
VLSN startVLSN,
long finishLsn) |
HeartbeatResponse(VLSN syncupVLSN,
VLSN ackedVLSN) |
MasterFeederSource(RepImpl envImpl,
VLSNIndex vlsnIndex,
NameIdPair replicaNameIdPair,
VLSN startVLSN) |
NetworkRestoreException(VLSN vlsn,
VLSN firstVLSN,
VLSN lastVLSN,
NameIdPair replicaNameIdPair) |
ReplicaSyncupReader(EnvironmentImpl envImpl,
VLSNIndex vlsnIndex,
long endOfLogLsn,
int readBufferSize,
VLSN startVLSN,
long finishLsn,
MatchpointSearchResults searchResults) |
RestoreResponse(VLSN cbvlsn,
RepNodeImpl[] logProviders) |
SkipGapException(long currentFileNum,
long nextFileNum,
VLSN currentVLSN) |
| Modifier and Type | Method and Description |
|---|---|
VLSN |
SubscriptionStat.getHighVLSN() |
VLSN |
SubscriptionStat.getStartVLSN() |
| Modifier and Type | Method and Description |
|---|---|
void |
SubscriptionCallback.processAbort(VLSN vlsn,
long txnId)
Process an abort entry from stream
|
void |
SubscriptionCallback.processCommit(VLSN vlsn,
long txnId)
Process a commit entry from stream
|
void |
SubscriptionCallback.processDel(VLSN vlsn,
byte[] key,
long txnId,
DatabaseId dbid)
Process a delete entry from stream
|
void |
SubscriptionCallback.processPut(VLSN vlsn,
byte[] key,
byte[] value,
long txnId,
DatabaseId dbid)
Process a put (insert or update) entry from stream
|
void |
SubscriptionStat.setHighVLSN(VLSN vlsn) |
void |
SubscriptionStat.setStartVLSN(VLSN vlsn) |
void |
Subscription.start(VLSN vlsn)
Start subscription main thread, subscribe from a specific VLSN
from the feeder.
|
| Modifier and Type | Method and Description |
|---|---|
VLSN |
MasterTxn.getCommitVLSN() |
| Modifier and Type | Method and Description |
|---|---|
void |
ReplayTxn.setLastAppliedVLSN(VLSN justApplied) |
| Modifier and Type | Method and Description |
|---|---|
VLSN |
Protocol.RemoteRecord.getVLSN() |
VLSN |
Record.getVLSN() |
| Constructor and Description |
|---|
Record(byte[] key,
byte[] data,
VLSN vlsn) |
| Modifier and Type | Method and Description |
|---|---|
protected VLSN |
BinaryProtocol.SimpleMessage.getVLSN(ByteBuffer buffer) |
| Modifier and Type | Field and Description |
|---|---|
protected VLSN |
VLSNBucket.firstVLSN |
protected VLSN |
VLSNBucket.lastVLSN |
| Modifier and Type | Method and Description |
|---|---|
VLSN |
VLSNIndex.bump() |
VLSN |
VLSNRange.getFirst() |
VLSN |
VLSNRange.getLast() |
VLSN |
VLSNRecoveryTracker.getLastMatchpointVLSN() |
VLSN |
VLSNRange.getLastSync() |
VLSN |
VLSNRange.getLastTxnEnd() |
VLSN |
VLSNIndex.VLSNAwaitLatch.getTriggerVLSN() |
| Modifier and Type | Method and Description |
|---|---|
Map<VLSN,Long> |
VLSNIndex.dumpDb(boolean display)
For debugging and unit tests
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
VLSNRange.contains(VLSN vlsn) |
long |
VLSNIndex.ForwardVLSNScanner.getApproximateLsn(VLSN vlsn)
{@literal
When doing an approximate search, the target vlsn may be a non-mapped
vlsn within a bucket, or it may be between two different buckets.
|
VLSNBucket |
VLSNIndex.getGTEBucket(VLSN vlsn,
VLSNBucket currentBucketInUse)
Get the vlsnBucket that owns this VLSN.
|
long |
VLSNIndex.getGTEFileNumber(VLSN vlsn)
The caller must ensure that the requested VLSN is within the VLSNIndex
range; we assume that there is a valid bucket.
|
long |
VLSNBucket.getGTELsn(VLSN vlsn)
Returns the mapping whose VLSN is >= the VLSN parameter.
|
long |
VLSNIndex.getGTELsn(VLSN vlsn)
The requested VLSN must be within the VLSNIndex range; we assume that
there is a valid bucket.
|
long |
VLSNBucket.getLsn(VLSN vlsn) |
VLSNBucket |
VLSNIndex.getLTEBucketFromDatabase(VLSN vlsn) |
long |
VLSNIndex.getLTEFileNumber(VLSN vlsn)
Return the nearest file number <= the log file that houses
this VLSN.
|
long |
VLSNIndex.BackwardVLSNScanner.getPreciseLsn(VLSN vlsn) |
long |
VLSNIndex.ForwardVLSNScanner.getPreciseLsn(VLSN vlsn) |
long |
VLSNIndex.BackwardVLSNScanner.getStartingLsn(VLSN vlsn) |
long |
VLSNIndex.ForwardVLSNScanner.getStartingLsn(VLSN vlsn)
Use the <= mapping to the requested VLSN to find the
starting lsn to use for a scan.
|
void |
VLSNIndex.truncateFromHead(VLSN deleteEnd,
long deleteFileNum)
Forcibly truncate the VLSNIndex range head, in situations where the
environment is quiescent and we know that truncation is safe.
|
void |
VLSNIndex.truncateFromTail(VLSN deleteStart,
long lastLsn)
Remove all information from the VLSNIndex for VLSNs >=
deleteStart Used by replica side syncup, when the log is
truncated.
|
boolean |
VLSNIndex.tryTruncateFromHead(VLSN deleteEnd,
long deleteFileNum)
Like
VLSNIndex.tryTruncateFromHead(long) but allows specifying a
specific {deleteEnd, deleteFileNum}. |
LogItem |
VLSNIndex.waitForVLSN(VLSN vlsn,
int waitTime)
Wait for the vlsn, or a higher numbered vlsn, to make its appearance in
the VLSN index.
|
| Modifier and Type | Method and Description |
|---|---|
VLSN |
TxnChain.getLastValidVLSN() |
VLSN |
RollbackStart.getMatchpointVLSN() |
| Constructor and Description |
|---|
RollbackStart(VLSN matchpointVLSN,
long matchpointLSN,
Set<Long> activeTxnIds) |
| Modifier and Type | Field and Description |
|---|---|
static VLSN |
VLSN.FIRST_VLSN |
static VLSN |
VLSN.NULL_VLSN |
| Modifier and Type | Method and Description |
|---|---|
VLSN |
VLSN.getNext()
Return a VLSN which would follow this one.
|
VLSN |
VLSN.getPrev()
Return a VLSN which would precede this one.
|
static VLSN |
VLSN.min(VLSN a,
VLSN b)
Returns the smaller of two VLSNS, ignoring NULL_VLSN values if one value
is not NULL_VLSN.
|
| Modifier and Type | Method and Description |
|---|---|
int |
VLSN.compareTo(VLSN other)
Compares this VLSN's sequence with the specified VLSN's sequence for
order.
|
boolean |
VLSN.equals(VLSN otherVLSN) |
boolean |
VLSN.follows(VLSN other)
Return true if this VLSN's sequence directly follows the "other"
VLSN.
|
static VLSN |
VLSN.min(VLSN a,
VLSN b)
Returns the smaller of two VLSNS, ignoring NULL_VLSN values if one value
is not NULL_VLSN.
|
Copyright © 2024. All rights reserved.