@@ -499,7 +499,8 @@ public void testNullUserConfiguration() {
499499 "config.providers.strimzifile.class=org.apache.kafka.common.config.provider.FileConfigProvider" ,
500500 "config.providers.strimzifile.param.allowed.paths=/opt/kafka" ,
501501 "config.providers.strimzidir.class=org.apache.kafka.common.config.provider.DirectoryConfigProvider" ,
502- "config.providers.strimzidir.param.allowed.paths=/opt/kafka" ));
502+ "config.providers.strimzidir.param.allowed.paths=/opt/kafka" ,
503+ "min.insync.replicas=1" ));
503504 }
504505
505506 @ Test
@@ -516,7 +517,8 @@ public void testNullUserConfigurationAndCCReporter() {
516517 "config.providers.strimzifile.param.allowed.paths=/opt/kafka" ,
517518 "config.providers.strimzidir.class=org.apache.kafka.common.config.provider.DirectoryConfigProvider" ,
518519 "config.providers.strimzidir.param.allowed.paths=/opt/kafka" ,
519- "metric.reporters=com.linkedin.kafka.cruisecontrol.metricsreporter.CruiseControlMetricsReporter" ));
520+ "metric.reporters=com.linkedin.kafka.cruisecontrol.metricsreporter.CruiseControlMetricsReporter" ,
521+ "min.insync.replicas=1" ));
520522 }
521523
522524 @ Test
@@ -535,7 +537,8 @@ public void testEmptyUserConfiguration() {
535537 "config.providers.strimzifile.class=org.apache.kafka.common.config.provider.FileConfigProvider" ,
536538 "config.providers.strimzifile.param.allowed.paths=/opt/kafka" ,
537539 "config.providers.strimzidir.class=org.apache.kafka.common.config.provider.DirectoryConfigProvider" ,
538- "config.providers.strimzidir.param.allowed.paths=/opt/kafka" ));
540+ "config.providers.strimzidir.param.allowed.paths=/opt/kafka" ,
541+ "min.insync.replicas=1" ));
539542 }
540543
541544 @ Test
@@ -563,7 +566,8 @@ public void testUserConfiguration() {
563566 "auto.create.topics.enable=false" ,
564567 "offsets.topic.replication.factor=3" ,
565568 "transaction.state.log.replication.factor=3" ,
566- "transaction.state.log.min.isr=2" ));
569+ "transaction.state.log.min.isr=2" ,
570+ "min.insync.replicas=1" ));
567571 }
568572
569573 @ Test
@@ -587,7 +591,8 @@ public void testUserConfigurationWithConfigProviders() {
587591 "config.providers.strimzifile.param.allowed.paths=/opt/kafka" ,
588592 "config.providers.strimzidir.class=org.apache.kafka.common.config.provider.DirectoryConfigProvider" ,
589593 "config.providers.strimzidir.param.allowed.paths=/opt/kafka" ,
590- "config.providers.env.class=org.apache.kafka.common.config.provider.EnvVarConfigProvider" ));
594+ "config.providers.env.class=org.apache.kafka.common.config.provider.EnvVarConfigProvider" ,
595+ "min.insync.replicas=1" ));
591596
592597 // Controller
593598 configuration = new KafkaBrokerConfigurationBuilder (Reconciliation .DUMMY_RECONCILIATION , new NodeRef ("my-cluster-kafka-3" , 3 , "kafka" , true , false ))
@@ -598,7 +603,8 @@ public void testUserConfigurationWithConfigProviders() {
598603 "config.providers=env,strimzienv" ,
599604 "config.providers.strimzienv.class=org.apache.kafka.common.config.provider.EnvVarConfigProvider" ,
600605 "config.providers.strimzienv.param.allowlist.pattern=.*" ,
601- "config.providers.env.class=org.apache.kafka.common.config.provider.EnvVarConfigProvider" ));
606+ "config.providers.env.class=org.apache.kafka.common.config.provider.EnvVarConfigProvider" ,
607+ "min.insync.replicas=1" ));
602608 }
603609
604610 @ Test
@@ -631,7 +637,8 @@ public void testNullUserConfigurationWithJmxMetricsReporter() {
631637 "config.providers.strimzifile.param.allowed.paths=/opt/kafka" ,
632638 "config.providers.strimzidir.class=org.apache.kafka.common.config.provider.DirectoryConfigProvider" ,
633639 "config.providers.strimzidir.param.allowed.paths=/opt/kafka" ,
634- "metric.reporters=org.apache.kafka.common.metrics.JmxReporter" ));
640+ "metric.reporters=org.apache.kafka.common.metrics.JmxReporter" ,
641+ "min.insync.replicas=1" ));
635642 }
636643
637644 @ Test
@@ -647,6 +654,7 @@ public void testNullUserConfigurationWithStrimziMetricsReporter() {
647654 "config.providers.strimzifile.param.allowed.paths=/opt/kafka" ,
648655 "config.providers.strimzidir.class=org.apache.kafka.common.config.provider.DirectoryConfigProvider" ,
649656 "config.providers.strimzidir.param.allowed.paths=/opt/kafka" ,
657+ "min.insync.replicas=1" ,
650658 "metric.reporters=" + StrimziMetricsReporterConfig .KAFKA_CLASS ,
651659 "kafka.metrics.reporters=" + StrimziMetricsReporterConfig .YAMMER_CLASS ));
652660 }
@@ -666,6 +674,7 @@ public void testNullUserConfigurationWithCruiseControlAndStrimziMetricsReporters
666674 "config.providers.strimzifile.param.allowed.paths=/opt/kafka" ,
667675 "config.providers.strimzidir.class=org.apache.kafka.common.config.provider.DirectoryConfigProvider" ,
668676 "config.providers.strimzidir.param.allowed.paths=/opt/kafka" ,
677+ "min.insync.replicas=1" ,
669678 "metric.reporters=" + CruiseControlMetricsReporter .CRUISE_CONTROL_METRIC_REPORTER
670679 + "," + StrimziMetricsReporterConfig .KAFKA_CLASS ,
671680 "kafka.metrics.reporters=" + StrimziMetricsReporterConfig .YAMMER_CLASS ));
@@ -688,7 +697,8 @@ public void testNullUserConfigurationWithCruiseControlAndJmxAndStrimziMetricsRep
688697 "metric.reporters=" + CruiseControlMetricsReporter .CRUISE_CONTROL_METRIC_REPORTER
689698 + ",org.apache.kafka.common.metrics.JmxReporter"
690699 + "," + StrimziMetricsReporterConfig .KAFKA_CLASS ,
691- "kafka.metrics.reporters=" + StrimziMetricsReporterConfig .YAMMER_CLASS ));
700+ "kafka.metrics.reporters=" + StrimziMetricsReporterConfig .YAMMER_CLASS ,
701+ "min.insync.replicas=1" ));
692702 }
693703
694704 static Stream <Arguments > sourceUserConfigWithMetricsReporters () {
@@ -704,7 +714,8 @@ static Stream<Arguments> sourceUserConfigWithMetricsReporters() {
704714 + "config.providers.strimzifile.class=org.apache.kafka.common.config.provider.FileConfigProvider\n "
705715 + "config.providers.strimzifile.param.allowed.paths=/opt/kafka\n "
706716 + "config.providers.strimzidir.class=org.apache.kafka.common.config.provider.DirectoryConfigProvider\n "
707- + "config.providers.strimzidir.param.allowed.paths=/opt/kafka\n " ;
717+ + "config.providers.strimzidir.param.allowed.paths=/opt/kafka\n "
718+ + "min.insync.replicas=1\n " ;
708719
709720 // testing 8 combinations of 3 boolean values
710721 return Stream .of (
@@ -778,7 +789,8 @@ public void testStrimziMetricsReporterViaUserAndMetricsConfigs() {
778789 "config.providers.strimzidir.class=org.apache.kafka.common.config.provider.DirectoryConfigProvider" ,
779790 "config.providers.strimzidir.param.allowed.paths=/opt/kafka" ,
780791 "metric.reporters=" + StrimziMetricsReporterConfig .KAFKA_CLASS ,
781- "kafka.metrics.reporters=" + StrimziMetricsReporterConfig .YAMMER_CLASS ));
792+ "kafka.metrics.reporters=" + StrimziMetricsReporterConfig .YAMMER_CLASS ,
793+ "min.insync.replicas=1" ));
782794 }
783795
784796 @ Test
@@ -2617,4 +2629,29 @@ public void testWithKRaftMetadataLogDir() {
26172629 "metadata.log.dir=/my/kraft/metadata/kafka-log2"
26182630 ));
26192631 }
2632+
2633+ @ Test
2634+ public void testDefaultMinInSyncReplicasWhenNotSpecified () {
2635+ Map <String , Object > userConfiguration = new HashMap <>();
2636+ userConfiguration .put ("auto.create.topics.enable" , "false" );
2637+ userConfiguration .put ("offsets.topic.replication.factor" , 3 );
2638+
2639+ KafkaConfiguration kafkaConfiguration = new KafkaConfiguration (Reconciliation .DUMMY_RECONCILIATION , userConfiguration .entrySet ());
2640+
2641+ String configuration = new KafkaBrokerConfigurationBuilder (Reconciliation .DUMMY_RECONCILIATION , NODE_REF )
2642+ .withUserConfiguration (kafkaConfiguration , false , false , false )
2643+ .build ();
2644+
2645+ assertThat (configuration , isEquivalent ("node.id=2" ,
2646+ "config.providers=strimzienv,strimzifile,strimzidir" ,
2647+ "config.providers.strimzienv.class=org.apache.kafka.common.config.provider.EnvVarConfigProvider" ,
2648+ "config.providers.strimzienv.param.allowlist.pattern=.*" ,
2649+ "config.providers.strimzifile.class=org.apache.kafka.common.config.provider.FileConfigProvider" ,
2650+ "config.providers.strimzifile.param.allowed.paths=/opt/kafka" ,
2651+ "config.providers.strimzidir.class=org.apache.kafka.common.config.provider.DirectoryConfigProvider" ,
2652+ "config.providers.strimzidir.param.allowed.paths=/opt/kafka" ,
2653+ "min.insync.replicas=1" ,
2654+ "auto.create.topics.enable=false" ,
2655+ "offsets.topic.replication.factor=3" ));
2656+ }
26202657}
0 commit comments