File tree Expand file tree Collapse file tree
core/src/main/scala/kafka/server
server-common/src/main/java/org/apache/kafka/config
server/src/main/java/org/apache/kafka/server/config
storage/src/main/java/org/apache/kafka/storage/internals/log Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -231,7 +231,7 @@ class DynamicBrokerConfig(private val kafkaConfig: KafkaConfig) extends Logging
231231 reconfigurables.add(reconfigurable)
232232 }
233233
234- def addBrokerReconfigurable (reconfigurable : config.BrokerReconfigurable ): Unit = {
234+ def addBrokerReconfigurable (reconfigurable : config.BrokerReconfigurable [_ >: KafkaConfig ] ): Unit = {
235235 verifyReconfigurableConfigs(reconfigurable.reconfigurableConfigs)
236236 brokerReconfigurables.add(new BrokerReconfigurable {
237237 override def reconfigurableConfigs : util.Set [String ] = reconfigurable.reconfigurableConfigs
Original file line number Diff line number Diff line change 3232 * <li>Validating the new configuration before applying it via {@link #validateReconfiguration(AbstractConfig)}</li>
3333 * <li>Applying the new configuration via {@link #reconfigure(AbstractConfig, AbstractConfig)}</li>
3434 * </ol>
35+ *
36+ * @param <T> the configuration type used by the reconfigurable component
3537 */
36- public interface BrokerReconfigurable {
38+ public interface BrokerReconfigurable < T extends AbstractConfig > {
3739 /**
3840 * Returns the set of configuration keys that can be dynamically reconfigured.
3941 *
@@ -53,7 +55,7 @@ public interface BrokerReconfigurable {
5355 *
5456 * @param newConfig the new configuration to validate
5557 */
56- void validateReconfiguration (AbstractConfig newConfig );
58+ void validateReconfiguration (T newConfig );
5759
5860 /**
5961 * Applies the new configuration.
@@ -63,5 +65,5 @@ public interface BrokerReconfigurable {
6365 * @param oldConfig the previous configuration
6466 * @param newConfig the new configuration to apply
6567 */
66- void reconfigure (AbstractConfig oldConfig , AbstractConfig newConfig );
68+ void reconfigure (T oldConfig , T newConfig );
6769}
Original file line number Diff line number Diff line change 2727
2828import java .util .Set ;
2929
30- public class DynamicProducerStateManagerConfig implements BrokerReconfigurable {
30+ public class DynamicProducerStateManagerConfig implements BrokerReconfigurable < AbstractConfig > {
3131 private final Logger log = LoggerFactory .getLogger (DynamicProducerStateManagerConfig .class );
3232 private final ProducerStateManagerConfig producerStateManagerConfig ;
3333
Original file line number Diff line number Diff line change 9595 * tombstone deletion.</li>
9696 * </ol>
9797 */
98- public class LogCleaner implements BrokerReconfigurable {
98+ public class LogCleaner implements BrokerReconfigurable < AbstractConfig > {
9999 private static final Logger LOG = LoggerFactory .getLogger (LogCleaner .class );
100100
101101 public static final Set <String > RECONFIGURABLE_CONFIGS = Set .of (
You can’t perform that action at this time.
0 commit comments