Class AbstractCommitLogSegmentManager
java.lang.Object
org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager
- Direct Known Subclasses:
CommitLogSegmentManagerCDC,CommitLogSegmentManagerStandard
Performs eager-creation of commit log segments in a background thread. All the
public methods are thread safe.
-
Method Summary
Modifier and TypeMethodDescriptionabstract CommitLogSegment.AllocationAllocate a segment within this CLSM.voidTo be used by tests only.booleanawaitTermination(long timeout, TimeUnit units) Returns when the management thread terminates.protected CommitLogSegmentHook to allow segment managers to track state surrounding creation of new segments.longvoidshutdown()Initiates the shutdown process for the management thread.voidstopUnsafe(boolean deleteSegments) Stops CL, for testing purposes.voidsync(boolean flush) Requests commit log files sync themselves, if needed.
-
Method Details
-
allocate
Allocate a segment within this CLSM. Should either succeed or throw. -
createSegment
Hook to allow segment managers to track state surrounding creation of new segments. Onl perform as task submit to segment manager so it's performed on segment management thread. -
onDiskSize
public long onDiskSize()- Returns:
- the space (in bytes) used by all segment files.
-
stopUnsafe
public void stopUnsafe(boolean deleteSegments) Stops CL, for testing purposes. DO NOT USE THIS OUTSIDE OF TESTS. Only call this after the AbstractCommitLogService is shut down. -
awaitManagementTasksCompletion
public void awaitManagementTasksCompletion()To be used by tests only. Not safe if mutation slots are being allocated concurrently. -
shutdown
public void shutdown()Initiates the shutdown process for the management thread. -
awaitTermination
Returns when the management thread terminates.- Throws:
InterruptedException
-
getActiveSegments
- Returns:
- a read-only collection of the active commit log segments
-
sync
Requests commit log files sync themselves, if needed. This may or may not involve flushing to disk.- Parameters:
flush- Request that the sync operation flush the file to disk.- Throws:
IOException
-