This is an automated email from the ASF dual-hosted git repository.

schofielaj pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/kafka.git


The following commit(s) were added to refs/heads/trunk by this push:
     new c3f0890f53b KAFKA-19075: Included other share group dynamic configs in 
extractShareGroupConfigMap method in ShareGroupConfig (#19348)
c3f0890f53b is described below

commit c3f0890f53b8326fff8f9dc19e947524d9325971
Author: Chirag Wadhwa <[email protected]>
AuthorDate: Thu Apr 3 18:17:25 2025 +0530

    KAFKA-19075: Included other share group dynamic configs in 
extractShareGroupConfigMap method in ShareGroupConfig (#19348)
    
    This PR includes `share.session.timeout.ms` and
    `share.heartbeat.interval.ms` in the `extractShareGroupConfigMap` method
    in `ShareGroupConfig`. With this change, the default value of
    `share.session.timeout.ms` and `share.heartbeat.interval.ms` for every
    group will be set as the value of the static configs
    `group.share.session.timeout.ms` and `group.share.heartbeat.interval.ms`
    respectively
    
    Reviewers: Andrew Schofield <[email protected]>
---
 .../kafka/coordinator/group/GroupCoordinatorConfig.java     |  2 +-
 .../coordinator/group/modern/share/ShareGroupConfig.java    | 13 ++++++++++---
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git 
a/group-coordinator/src/main/java/org/apache/kafka/coordinator/group/GroupCoordinatorConfig.java
 
b/group-coordinator/src/main/java/org/apache/kafka/coordinator/group/GroupCoordinatorConfig.java
index 89131d61b6e..7bec808574b 100644
--- 
a/group-coordinator/src/main/java/org/apache/kafka/coordinator/group/GroupCoordinatorConfig.java
+++ 
b/group-coordinator/src/main/java/org/apache/kafka/coordinator/group/GroupCoordinatorConfig.java
@@ -553,7 +553,7 @@ public class GroupCoordinatorConfig {
     public Map<String, Integer> extractGroupConfigMap(ShareGroupConfig 
shareGroupConfig) {
         Map<String, Integer> defaultConfigs = new HashMap<>();
         defaultConfigs.putAll(extractConsumerGroupConfigMap());
-        defaultConfigs.putAll(shareGroupConfig.extractShareGroupConfigMap());
+        
defaultConfigs.putAll(shareGroupConfig.extractShareGroupConfigMap(this));
         return Collections.unmodifiableMap(defaultConfigs);
     }
 
diff --git 
a/group-coordinator/src/main/java/org/apache/kafka/coordinator/group/modern/share/ShareGroupConfig.java
 
b/group-coordinator/src/main/java/org/apache/kafka/coordinator/group/modern/share/ShareGroupConfig.java
index e216bd4037c..ce2a8744ddb 100644
--- 
a/group-coordinator/src/main/java/org/apache/kafka/coordinator/group/modern/share/ShareGroupConfig.java
+++ 
b/group-coordinator/src/main/java/org/apache/kafka/coordinator/group/modern/share/ShareGroupConfig.java
@@ -161,9 +161,16 @@ public class ShareGroupConfig {
     }
 
     /**
-     * Copy the subset of properties that are relevant to share group.
+     * Copy the subset of properties that are relevant to share group. These 
configs include those which can be set
+     * statically (for all groups) or dynamically (for a specific group). In 
those cases, the default value for the
+     * group specific dynamic config (Ex. share.session.timeout.ms) should be 
the value set for the static config
+     * (Ex. group.share.session.timeout.ms).
      */
-    public Map<String, Integer> extractShareGroupConfigMap() {
-        return Map.of(GroupConfig.SHARE_RECORD_LOCK_DURATION_MS_CONFIG, 
shareGroupRecordLockDurationMs());
+    public Map<String, Integer> 
extractShareGroupConfigMap(GroupCoordinatorConfig groupCoordinatorConfig) {
+        return Map.of(
+            GroupConfig.SHARE_SESSION_TIMEOUT_MS_CONFIG, 
groupCoordinatorConfig.shareGroupSessionTimeoutMs(),
+            GroupConfig.SHARE_HEARTBEAT_INTERVAL_MS_CONFIG, 
groupCoordinatorConfig.shareGroupHeartbeatIntervalMs(),
+            GroupConfig.SHARE_RECORD_LOCK_DURATION_MS_CONFIG, 
shareGroupRecordLockDurationMs()
+        );
     }
 }

Reply via email to