1818 */
1919
2020package kafka .automq .zerozone ;
21-
2221import kafka .automq .interceptor .ClientIdMetadata ;
2322import kafka .server .DynamicBrokerConfig ;
23+ import kafka .server .KafkaConfig ;
2424
2525import org .apache .kafka .common .Reconfigurable ;
2626import org .apache .kafka .common .config .ConfigException ;
@@ -39,6 +39,8 @@ public class DefaultClientRackProvider implements ClientRackProvider, Reconfigur
3939 private static final Logger LOGGER = LoggerFactory .getLogger (DefaultClientRackProvider .class );
4040 private static final String ZONE_CIDR_BLOCKS_CONFIG_KEY = "automq.zone.cidr.blocks" ;
4141 private static final Set <String > RECONFIGURABLE_CONFIGS ;
42+
43+ private final KafkaConfig kafkaConfig ;
4244 private CIDRMatcher cidrMatcher = new CIDRMatcher ("" );
4345
4446 static {
@@ -48,6 +50,16 @@ public class DefaultClientRackProvider implements ClientRackProvider, Reconfigur
4850 RECONFIGURABLE_CONFIGS .forEach (DynamicBrokerConfig .AllDynamicConfigs ()::add );
4951 }
5052
53+ public DefaultClientRackProvider (KafkaConfig kafkaConfig ) {
54+ this .kafkaConfig = kafkaConfig ;
55+ // Read static config from server.properties on initialization
56+ final String staticValue = (String ) kafkaConfig .originals ().get (ZONE_CIDR_BLOCKS_CONFIG_KEY );
57+ if (staticValue != null ) {
58+ this .cidrMatcher = new CIDRMatcher (staticValue );
59+ LOGGER .info ("Initialized with static zone CIDR blocks: {}" , staticValue );
60+ }
61+ }
62+
5163 @ Override
5264 public String rack (ClientIdMetadata clientId ) {
5365 String rack = clientId .rack ();
0 commit comments