Name | Description |
---|---|
|
|
|
GroupMetadata by group ID |
|
Number of partitions for the |
|
KafkaScheduler with 1 daemon thread with group-metadata-manager- prefix Used when:
|
enableMetadataExpiration(): Unit
enableMetadataExpiration
requests KafkaScheduler to start.
enableMetadataExpiration
schedules delete-expired-group-metadata task that cleanupGroupMetadata every offsetsRetentionCheckIntervalMs
milliseconds.
Note
|
enableMetadataExpiration is used exclusively when GroupCoordinator is started.
|
cleanupGroupMetadata(): Unit // (1)
cleanupGroupMetadata(deletedTopicPartitions: Option[Seq[TopicPartition]]): Unit
-
Calls the other
cleanupGroupMetadata
with emptydeletedTopicPartitions
collection
cleanupGroupMetadata
takes the current time (using time) and for every GroupMetadata in the cache does the following:
-
FIXME
In the end, cleanupGroupMetadata
prints out the following INFO message to the logs:
Removed [offsetsRemoved] expired offsets in [duration] milliseconds
Note
|
cleanupGroupMetadata is used exclusively when GroupMetadataManager is requested to enableMetadataExpiration (as delete-expired-group-metadata task).
|
Getting Number of Partitions for __consumer_offsets Consumer Group Metadata Topic — getGroupMetadataTopicPartitionCount
Internal Method
getGroupMetadataTopicPartitionCount: Int
getGroupMetadataTopicPartitionCount
requests the KafkaZkClient for getTopicPartitionCount of __consumer_offsets
consumer group metadata topic.
If not available, getGroupMetadataTopicPartitionCount
uses the OffsetConfig for offsetsTopicNumPartitions (default: 50
).
Note
|
getGroupMetadataTopicPartitionCount is used exclusively when GroupMetadataManager is requested for groupMetadataTopicPartitionCount.
|
startup(enableMetadataExpiration: Boolean): Unit
startup
…FIXME
Note
|
startup is used when…FIXME
|
scheduleLoadGroupAndOffsets(offsetsPartition: Int, onGroupLoaded: GroupMetadata => Unit): Unit
scheduleLoadGroupAndOffsets
…FIXME
Note
|
scheduleLoadGroupAndOffsets is used when…FIXME
|
removeGroupsForPartition(
offsetsPartition: Int,
onGroupUnloaded: GroupMetadata => Unit): Unit
removeGroupsForPartition
…FIXME
Note
|
removeGroupsForPartition is used when…FIXME
|
scheduleHandleTxnCompletion(
producerId: Long,
completedPartitions: Set[Int],
isCommit: Boolean): Unit
scheduleHandleTxnCompletion
…FIXME
Note
|
scheduleHandleTxnCompletion is used exclusively when GroupCoordinator is requested to scheduleHandleTxnCompletion.
|
loadGroupsAndOffsets(
topicPartition: TopicPartition,
onGroupLoaded: GroupMetadata => Unit): Unit
loadGroupsAndOffsets
…FIXME
Note
|
loadGroupsAndOffsets is used when…FIXME
|
appendForGroup(
group: GroupMetadata,
records: Map[TopicPartition, MemoryRecords],
callback: Map[TopicPartition, PartitionResponse] => Unit): Unit
appendForGroup
simply requests the ReplicaManager to append records.
Note
|
appendForGroup is used exclusively when GroupMetadataManager is requested to storeGroup and storeOffsets.
|
getGroup(groupId: String): Option[GroupMetadata]
getGroup
finds the GroupMetadata for the group ID in the groupMetadataCache internal registry.
getGroup
returns None
if the metadata could not be found.
Note
|
|