public class CommitLog extends java.lang.Object implements CommitLogMBean
Modifier and Type | Class and Description |
---|---|
static class |
CommitLog.Configuration |
Modifier and Type | Field and Description |
---|---|
CommitLogSegmentManager |
allocator |
CommitLogArchiver |
archiver |
static CommitLog |
instance |
java.lang.String |
location |
Modifier and Type | Method and Description |
---|---|
int |
activeSegments()
Used by tests.
|
ReplayPosition |
add(Mutation mutation)
Add a Mutation to the commit log.
|
void |
discardCompletedSegments(java.util.UUID cfId,
ReplayPosition lowerBound,
ReplayPosition upperBound)
Modifies the per-CF dirty cursors of any commit log segments for the column family according to the position
given.
|
void |
forceRecycleAllSegments()
Flushes all dirty CFs, waiting for them to free and recycle any segments they were retaining
|
void |
forceRecycleAllSegments(java.lang.Iterable<java.util.UUID> droppedCfs)
Flushes all dirty CFs, waiting for them to free and recycle any segments they were retaining
|
long |
getActiveContentSize() |
long |
getActiveOnDiskSize() |
java.util.Map<java.lang.String,java.lang.Double> |
getActiveSegmentCompressionRatios() |
java.util.List<java.lang.String> |
getActiveSegmentNames() |
java.lang.String |
getArchiveCommand()
Command to execute to archive a commitlog segment.
|
java.util.List<java.lang.String> |
getArchivingSegmentNames() |
ReplayPosition |
getContext() |
java.lang.String |
getRestoreCommand()
Command to execute to make an archived commitlog live again
|
java.lang.String |
getRestoreDirectories()
Directory to scan the recovery files in
|
long |
getRestorePointInTime()
Restore mutations created up to and including this timestamp in GMT
Format: yyyy:MM:dd HH:mm:ss (2012:04:31 20:43:12)
Recovery will continue through the segment when the first client-supplied
timestamp greater than this time is encountered, but only mutations less than
or equal to this timestamp will be applied.
|
java.lang.String |
getRestorePrecision()
get precision of the timestamp used in the restore (MILLISECONDS, MICROSECONDS, ...)
to determine if passed the restore point in time.
|
static boolean |
handleCommitError(java.lang.String message,
java.lang.Throwable t) |
int |
recover()
Perform recovery on commit logs located in the directory specified by the config file.
|
int |
recover(java.io.File... clogs)
Perform recovery on a list of commit log files.
|
void |
recover(java.lang.String path)
Perform recovery on a single commit log.
|
void |
requestExtraSync()
Preempts the CLExecutor, telling to to sync immediately
|
void |
resetConfiguration()
FOR TESTING PURPOSES.
|
int |
resetUnsafe(boolean deleteSegments)
FOR TESTING PURPOSES.
|
int |
restartUnsafe()
FOR TESTING PURPOSES.
|
void |
shutdownBlocking()
Shuts down the threads used by the commit log, blocking until completion.
|
void |
stopUnsafe(boolean deleteSegments)
FOR TESTING PURPOSES.
|
void |
sync(boolean syncAllSegments)
Forces a disk flush on the commit log files that need it.
|
public static final CommitLog instance
public final CommitLogSegmentManager allocator
public final CommitLogArchiver archiver
public final java.lang.String location
public int recover() throws java.io.IOException
java.io.IOException
public int recover(java.io.File... clogs) throws java.io.IOException
clogs
- the list of commit log files to replayjava.io.IOException
public void recover(java.lang.String path) throws java.io.IOException
recover
in interface CommitLogMBean
java.io.IOException
public ReplayPosition getContext()
public void forceRecycleAllSegments(java.lang.Iterable<java.util.UUID> droppedCfs)
public void forceRecycleAllSegments()
public void sync(boolean syncAllSegments)
public void requestExtraSync()
public ReplayPosition add(Mutation mutation)
mutation
- the Mutation to add to the logpublic void discardCompletedSegments(java.util.UUID cfId, ReplayPosition lowerBound, ReplayPosition upperBound)
cfId
- the column family ID that was flushedlowerBound
- the lowest covered replay position of the flushlowerBound
- the highest covered replay position of the flushpublic java.lang.String getArchiveCommand()
CommitLogMBean
getArchiveCommand
in interface CommitLogMBean
public java.lang.String getRestoreCommand()
CommitLogMBean
getRestoreCommand
in interface CommitLogMBean
public java.lang.String getRestoreDirectories()
CommitLogMBean
getRestoreDirectories
in interface CommitLogMBean
public long getRestorePointInTime()
CommitLogMBean
getRestorePointInTime
in interface CommitLogMBean
public java.lang.String getRestorePrecision()
CommitLogMBean
getRestorePrecision
in interface CommitLogMBean
public java.util.List<java.lang.String> getActiveSegmentNames()
getActiveSegmentNames
in interface CommitLogMBean
public java.util.List<java.lang.String> getArchivingSegmentNames()
getArchivingSegmentNames
in interface CommitLogMBean
public long getActiveContentSize()
getActiveContentSize
in interface CommitLogMBean
public long getActiveOnDiskSize()
getActiveOnDiskSize
in interface CommitLogMBean
public java.util.Map<java.lang.String,java.lang.Double> getActiveSegmentCompressionRatios()
getActiveSegmentCompressionRatios
in interface CommitLogMBean
public void shutdownBlocking() throws java.lang.InterruptedException
java.lang.InterruptedException
public int resetUnsafe(boolean deleteSegments) throws java.io.IOException
java.io.IOException
public void stopUnsafe(boolean deleteSegments)
public void resetConfiguration()
public int restartUnsafe() throws java.io.IOException
java.io.IOException
public int activeSegments()
public static boolean handleCommitError(java.lang.String message, java.lang.Throwable t)
Copyright © 2017 The Apache Software Foundation