package Ġcom . info bip . k af k ist ry . service Ċ Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġcom . info bip . k af k ist ry . model . Cluster Ref Ċ import Ġcom . info bip . k af k ist ry . model . Topic Description Ċ import Ġcom . info bip . k af k ist ry . model . Topic Properties Ċ import Ġcom . info bip . k af k ist ry . service . generator . Overrides Min im izer Ċ import Ġorg . junit . Test Ċ import Ġjava . util .* Ċ Ċ class ĠOverrides Min im izer Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġminim izer Ġ= ĠOverrides Min im izer () ĊĠĠĠ Ġprivate Ġval Ġclusters AB CD Ġ= Ġclusters Of (" a ", Ġ" b ", Ġ" c ", Ġ" d ") ĊĠĠĠ Ġprivate Ġval Ġclusters AB Ġ= Ġclusters Of (" a ", Ġ" b ") ĊĠĠĠ Ġprivate Ġval Ġno Clusters Ġ= ĠlistOf < Cluster Ref >() ĊĊĠĠĠ Ġprivate Ġfun Ġclusters Of ( var arg Ġidentifiers : ĠString ) Ġ= Ġidentifiers . map Ġ{ ĠCluster Ref ( it , Ġempty List ()) Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` no Ġclusters `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= Ġnew Topic ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproperties Ġ= ĠTopic Properties ( 2 , Ġ 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= Ġmap Of (" retention . ms " Ġto Ġ" 1 2 3 4 5 6 7 8 9 ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġminim ized Ġ= Ġminim izer . minimize Overrides ( original , Ġno Clusters ) ĊĠĠĠĠĠĠĠ Ġno Clusters . assertThat All Effective Configuration Is Same ( original , Ġminim ized , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` no Ġoverrides Ġnor Ġconfig `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= Ġnew Topic ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproperties Ġ= ĠTopic Properties ( 1 , Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= Ġmap Of () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġminim ized Ġ= Ġminim izer . minimize Overrides ( original , Ġclusters AB ) ĊĠĠĠĠĠĠĠ Ġclusters AB . assertThat All Effective Configuration Is Same ( original , Ġminim ized , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` only Ġbase Ġdata `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= Ġnew Topic ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproperties Ġ= ĠTopic Properties ( 2 , Ġ 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= Ġmap Of (" retention . ms " Ġto Ġ" 1 2 3 4 5 6 7 8 9 ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġminim ized Ġ= Ġminim izer . minimize Overrides ( original , Ġclusters AB CD ) ĊĠĠĠĠĠĠĠ Ġclusters AB CD . assertThat All Effective Configuration Is Same ( original , Ġminim ized , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` only Ġone Ġproperties Ġoverride `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= Ġnew Topic ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproperties Ġ= ĠTopic Properties ( 2 , Ġ 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= Ġmap Of (" retention . ms " Ġto Ġ" 1 2 3 4 5 6 7 8 9 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġper Cluster Properties Ġ= Ġmap Of (" a " Ġto ĠTopic Properties ( 1 2 , Ġ 2 )) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġminim ized Ġ= Ġminim izer . minimize Overrides ( original , Ġclusters AB CD ) ĊĠĠĠĠĠĠĠ Ġclusters AB CD . assertThat All Effective Configuration Is Same ( original , Ġminim ized , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` only Ġone Ġconfig Ġoverride `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= Ġnew Topic ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproperties Ġ= ĠTopic Properties ( 2 , Ġ 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= Ġmap Of (" retention . ms " Ġto Ġ" 1 2 3 4 5 6 7 8 9 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġper Cluster Config Overrides Ġ= Ġmap Of (" b " Ġto Ġmap Of (" retention . ms " Ġto Ġ" 5 5 5 0 0 0 6 6 6 ")) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġminim ized Ġ= Ġminim izer . minimize Overrides ( original , Ġclusters AB CD ) ĊĠĠĠĠĠĠĠ Ġclusters AB CD . assertThat All Effective Configuration Is Same ( original , Ġminim ized , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` all Ġthe Ġsame Ġproperties Ġoverride `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= Ġnew Topic ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproperties Ġ= ĠTopic Properties ( 2 , Ġ 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= Ġmap Of (" retention . ms " Ġto Ġ" 1 2 3 4 5 6 7 8 9 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġper Cluster Properties Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" a " Ġto ĠTopic Properties ( 1 2 , Ġ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" b " Ġto ĠTopic Properties ( 1 2 , Ġ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" c " Ġto ĠTopic Properties ( 1 2 , Ġ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" d " Ġto ĠTopic Properties ( 1 2 , Ġ 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġminim ized Ġ= Ġminim izer . minimize Overrides ( original , Ġclusters AB CD ) ĊĠĠĠĠĠĠĠ Ġclusters AB CD . assertThat All Effective Configuration Is Same ( original , Ġminim ized , Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` all Ġthe Ġsame Ġproperties Ġoverride Ġexcept Ġone `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= Ġnew Topic ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproperties Ġ= ĠTopic Properties ( 2 , Ġ 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= Ġmap Of (" retention . ms " Ġto Ġ" 1 2 3 4 5 6 7 8 9 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġper Cluster Properties Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" a " Ġto ĠTopic Properties ( 1 2 , Ġ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" b " Ġto ĠTopic Properties ( 1 2 , Ġ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" c " Ġto ĠTopic Properties ( 1 2 , Ġ 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġminim ized Ġ= Ġminim izer . minimize Overrides ( original , Ġclusters AB CD ) ĊĠĠĠĠĠĠĠ Ġclusters AB CD . assertThat All Effective Configuration Is Same ( original , Ġminim ized , Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` one Ġproperties Ġoverride `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= Ġnew Topic ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproperties Ġ= ĠTopic Properties ( 2 , Ġ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= Ġmap Of (" retention . ms " Ġto Ġ" 1 2 3 4 5 6 7 8 9 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġper Cluster Properties Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" a " Ġto ĠTopic Properties ( 1 , Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġminim ized Ġ= Ġminim izer . minimize Overrides ( original , Ġclusters AB ) ĊĠĠĠĠĠĠĠ Ġclusters AB . assertThat All Effective Configuration Is Same ( original , Ġminim ized , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` one Ġproperties Ġoverride Ġsecond `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= Ġnew Topic ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproperties Ġ= ĠTopic Properties ( 2 , Ġ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= Ġmap Of (" retention . ms " Ġto Ġ" 1 2 3 4 5 6 7 8 9 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġper Cluster Properties Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" b " Ġto ĠTopic Properties ( 1 , Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġminim ized Ġ= Ġminim izer . minimize Overrides ( original , Ġclusters AB ) ĊĠĠĠĠĠĠĠ Ġclusters AB . assertThat All Effective Configuration Is Same ( original , Ġminim ized , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` two Ġdifferent Ġproperties Ġoverride Ġsecond `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= Ġnew Topic ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproperties Ġ= ĠTopic Properties ( 2 , Ġ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= Ġmap Of (" retention . ms " Ġto Ġ" 1 2 3 4 5 6 7 8 9 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġper Cluster Properties Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" a " Ġto ĠTopic Properties ( 3 , Ġ 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" b " Ġto ĠTopic Properties ( 1 , Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġminim ized Ġ= Ġminim izer . minimize Overrides ( original , Ġclusters AB ) ĊĠĠĠĠĠĠĠ Ġclusters AB . assertThat All Effective Configuration Is Same ( original , Ġminim ized , Ġtrue ) ĊĠĠĠĠĠĠĠ ĠassertThat ( minim ized . properties ). isEqualTo ( Topic Properties ( 3 , Ġ 3 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` remove Ġunknown Ġcluster Ġoverrides `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= Ġnew Topic ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproperties Ġ= ĠTopic Properties ( 2 , Ġ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= Ġmap Of (" retention . ms " Ġto Ġ" 1 2 3 4 5 6 7 8 9 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġper Cluster Properties Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" a " Ġto ĠTopic Properties ( 3 , Ġ 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" e " Ġto ĠTopic Properties ( 1 , Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġper Cluster Config Overrides Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" b " Ġto Ġmap Of (" min . ins ync . replicas " Ġto Ġ" 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" f " Ġto Ġmap Of (" min . ins ync . replicas " Ġto Ġ" 3 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" g " Ġto Ġmap Of (" min . ins ync . replicas " Ġto Ġ" 4 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" c " Ġto Ġmap Of (" min . ins ync . replicas " Ġto Ġ" 5 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġminim ized Ġ= Ġminim izer . minimize Overrides ( original , Ġclusters AB CD ) ĊĠĠĠĠĠĠĠ Ġclusters AB . assertThat All Effective Configuration Is Same ( original , Ġminim ized , Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` only Ġone Ġcluster Ġconfig Ġoverride `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= Ġnew Topic ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= Ġmap Of (" retention . ms " Ġto Ġ" 1 2 3 4 5 6 7 8 9 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġper Cluster Config Overrides Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" b " Ġto Ġmap Of (" retention . ms " Ġto Ġ" 6 6 6 6 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġminim ized Ġ= Ġminim izer . minimize Overrides ( original , Ġclusters AB CD ) ĊĠĠĠĠĠĠĠ Ġclusters AB CD . assertThat All Effective Configuration Is Same ( original , Ġminim ized , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` multiple Ġclusters Ġconfig Ġsame Ġoverride `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= Ġnew Topic ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= Ġmap Of (" retention . ms " Ġto Ġ" 1 2 3 4 5 6 7 8 9 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġper Cluster Config Overrides Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" b " Ġto Ġmap Of (" retention . ms " Ġto Ġ" 6 6 6 6 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" c " Ġto Ġmap Of (" retention . ms " Ġto Ġ" 6 6 6 6 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" d " Ġto Ġmap Of (" retention . ms " Ġto Ġ" 6 6 6 6 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġminim ized Ġ= Ġminim izer . minimize Overrides ( original , Ġclusters AB CD ) ĊĠĠĠĠĠĠĠ Ġclusters AB CD . assertThat All Effective Configuration Is Same ( original , Ġminim ized , Ġtrue ) ĊĠĠĠĠĠĠĠ ĠassertThat ( minim ized . config ). isEqualTo ( map Of (" retention . ms " Ġto Ġ" 6 6 6 6 ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` all Ġclusters Ġconfig Ġdifferent Ġoverride `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= Ġnew Topic ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= Ġmap Of (" retention . ms " Ġto Ġ" 1 2 3 4 5 6 7 8 9 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġper Cluster Config Overrides Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" a " Ġto Ġmap Of (" retention . ms " Ġto Ġ" 1 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" b " Ġto Ġmap Of (" retention . ms " Ġto Ġ" 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" c " Ġto Ġmap Of (" retention . ms " Ġto Ġ" 3 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" d " Ġto Ġmap Of (" retention . ms " Ġto Ġ" 4 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġminim ized Ġ= Ġminim izer . minimize Overrides ( original , Ġclusters AB CD ) ĊĠĠĠĠĠĠĠ Ġclusters AB CD . assertThat All Effective Configuration Is Same ( original , Ġminim ized , Ġtrue ) ĊĠĠĠĠĠĠĠ ĠassertThat ( minim ized . config ). isEqualTo ( map Of (" retention . ms " Ġto Ġ" 1 ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` all Ġclusters Ġconfig Ġdifferent Ġoverride Ġkeep Ġcurrent `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= Ġnew Topic ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= Ġmap Of (" retention . ms " Ġto Ġ" 1 2 3 4 5 6 7 8 9 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġper Cluster Config Overrides Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" a " Ġto Ġmap Of (" retention . ms " Ġto Ġ" 1 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" b " Ġto Ġmap Of (" retention . ms " Ġto Ġ" 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" c " Ġto Ġmap Of (" retention . ms " Ġto Ġ" 3 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" d " Ġto Ġmap Of (" retention . ms " Ġto Ġ" 1 2 3 4 5 6 7 8 9 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġminim ized Ġ= Ġminim izer . minimize Overrides ( original , Ġclusters AB CD ) ĊĠĠĠĠĠĠĠ Ġclusters AB CD . assertThat All Effective Configuration Is Same ( original , Ġminim ized , Ġtrue ) ĊĠĠĠĠĠĠĠ ĠassertThat ( minim ized . config ). isEqualTo ( map Of (" retention . ms " Ġto Ġ" 1 2 3 4 5 6 7 8 9 ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` all Ġclusters Ġconfig Ġsparse Ġoverrides `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= Ġnew Topic ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= Ġmap Of (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġper Cluster Config Overrides Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" a " Ġto Ġmap Of (" retention . ms " Ġto Ġ" 1 0 0 0 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" b " Ġto Ġmap Of (" retention . bytes " Ġto Ġ" 1 0 2 4 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" c " Ġto Ġmap Of (" min . ins ync . replicas " Ġto Ġ" 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" d " Ġto Ġmap Of (" message . format " Ġto Ġ" 2 . 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġminim ized Ġ= Ġminim izer . minimize Overrides ( original , Ġclusters AB CD ) ĊĠĠĠĠĠĠĠ Ġclusters AB CD . assertThat All Effective Configuration Is Same ( original , Ġminim ized , Ġfalse ) ĊĠĠĠĠĠĠĠ ĠassertThat ( minim ized . config ). isEmpty () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` only Ġcommon Ġconfigs Ġcan Ġbew Ġas Ġbase Ġconfig `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= Ġnew Topic ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= Ġmap Of (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġper Cluster Config Overrides Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" a " Ġto Ġmap Of (" x " Ġto Ġ" 1 ", Ġ" y " Ġto Ġ" a "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" b " Ġto Ġmap Of (" x " Ġto Ġ" 1 ", Ġ" y " Ġto Ġ" a "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" c " Ġto Ġmap Of (" x " Ġto Ġ" 1 ", Ġ" y " Ġto Ġ" b "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" d " Ġto Ġmap Of (" y " Ġto Ġ" a ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġminim ized Ġ= Ġminim izer . minimize Overrides ( original , Ġclusters AB CD ) ĊĠĠĠĠĠĠĠ Ġclusters AB CD . assertThat All Effective Configuration Is Same ( original , Ġminim ized , Ġtrue ) ĊĠĠĠĠĠĠĠ ĠassertThat ( minim ized . config ). isEqualTo ( map Of (" y " Ġto Ġ" a ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` remove Ġredundant Ġoverrides `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= Ġnew Topic ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= Ġmap Of (" x " Ġto Ġ" 1 ", Ġ" y " Ġto Ġ" a ", Ġ" z " Ġto Ġ"- "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġper Cluster Config Overrides Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" a " Ġto Ġmap Of (" x " Ġto Ġ" 1 ", Ġ" y " Ġto Ġ" a "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" b " Ġto Ġmap Of (" x " Ġto Ġ" 1 ", Ġ" y " Ġto Ġ" a ", Ġ" z " Ġto Ġ"- "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" c " Ġto Ġmap Of (" x " Ġto Ġ" 1 ", Ġ" y " Ġto Ġ" b "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" d " Ġto Ġmap Of (" y " Ġto Ġ" a ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġminim ized Ġ= Ġminim izer . minimize Overrides ( original , Ġclusters AB CD ) ĊĠĠĠĠĠĠĠ Ġclusters AB CD . assertThat All Effective Configuration Is Same ( original , Ġminim ized , Ġtrue ) ĊĠĠĠĠĠĠĠ ĠassertThat ( minim ized . config ). isEqualTo ( original . config ) ĊĠĠĠĠĠĠĠ ĠassertThat ( minim ized . per Cluster Config Overrides ). isEqualTo ( map Of (" c " Ġto Ġmap Of (" y " Ġto Ġ" b "))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġtagged Clusters Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠ ĠCluster Ref (" a ", Ġtags Ġ= ĠlistOf (" large ", Ġ" foo ")), ĊĠĠĠĠĠĠĠ ĠCluster Ref (" b ", Ġtags Ġ= ĠlistOf (" large ", Ġ" bar ")), ĊĠĠĠĠĠĠĠ ĠCluster Ref (" c ", Ġtags Ġ= ĠlistOf (" small ", Ġ" foo ")), ĊĠĠĠĠĠĠĠ ĠCluster Ref (" d ", Ġtags Ġ= ĠlistOf (" small ", Ġ" bar ")), ĊĠĠĠĠĠĠĠ ĠCluster Ref (" e ", Ġtags Ġ= ĠlistOf (" small ", Ġ" foo ")), ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` extract Ġcommon Ġtagged Ġproperties Ġoverrides `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= Ġnew Topic ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproperties Ġ= ĠTopic Properties ( 1 , Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġper Cluster Properties Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" a " Ġto ĠTopic Properties ( 5 0 , 4 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" b " Ġto ĠTopic Properties ( 5 0 , 4 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" c " Ġto ĠTopic Properties ( 1 0 , 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġminim ized Ġ= Ġminim izer . minimize Overrides ( original , Ġtagged Clusters ) ĊĠĠĠĠĠĠĠ Ġtagged Clusters . assertThat All Effective Configuration Is Same ( original , Ġminim ized , Ġtrue ) ĊĠĠĠĠĠĠĠ ĠassertThat ( minim ized . properties ). isEqualTo ( original . properties ) ĊĠĠĠĠĠĠĠ ĠassertThat ( minim ized . per Tag Properties ). isEqualTo ( map Of (" large " Ġto ĠTopic Properties ( 5 0 , 4 ))) ĊĠĠĠĠĠĠĠ ĠassertThat ( minim ized . per Cluster Properties ). isEqualTo ( map Of (" c " Ġto ĠTopic Properties ( 1 0 , 3 ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` extract Ġcommon Ġtagged Ġconfig Ġoverrides `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= Ġnew Topic ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= Ġmap Of (" x " Ġto Ġ" 1 ", Ġ" y " Ġto Ġ" a ", Ġ" z " Ġto Ġ"- "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġper Cluster Config Overrides Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" a " Ġto Ġmap Of (" x " Ġto Ġ" 1 0 0 ", Ġ" y " Ġto Ġ" a "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" b " Ġto Ġmap Of (" x " Ġto Ġ" 1 0 0 ", Ġ" y " Ġto Ġ" a ", Ġ" z " Ġto Ġ"-", Ġ" tagged " Ġto Ġ" tv "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" c " Ġto Ġmap Of (" x " Ġto Ġ" 1 ", Ġ" y " Ġto Ġ" b "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" d " Ġto Ġmap Of (" y " Ġto Ġ" a ", Ġ" tagged " Ġto Ġ" tv ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġminim ized Ġ= Ġminim izer . minimize Overrides ( original , Ġtagged Clusters ) ĊĠĠĠĠĠĠĠ Ġtagged Clusters . assertThat All Effective Configuration Is Same ( original , Ġminim ized , Ġtrue ) ĊĠĠĠĠĠĠĠ ĠassertThat ( minim ized . config ). isEqualTo ( original . config ) ĊĠĠĠĠĠĠĠ ĠassertThat ( minim ized . per Tag Config Overrides ). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of (" large " Ġto Ġmap Of (" x " Ġto Ġ" 1 0 0 "), Ġ" bar " Ġto Ġmap Of (" tagged " Ġto Ġ" tv ")) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertThat ( minim ized . per Cluster Config Overrides ). isEqualTo ( map Of (" c " Ġto Ġmap Of (" y " Ġto Ġ" b "))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` random ly Ġgenerated Ġtopic Ġto Ġsatisfy Ġminim ization Ġproperties `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġseed Ġ= ĠSystem . currentTimeMillis () ĊĠĠĠĠĠĠĠ Ġval Ġrandom Ġ= ĠRandom ( seed ) ĊĠĠĠĠĠĠĠ Ġval Ġnum Runs Ġ= Ġ 3 0 ĊĠĠĠĠĠĠĠ Ġvar Ġnum Min im ized Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġrepeat ( num Runs ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġall Clusters Ġ= Ġrandom . range ( 1 .. 1 5 ). map Ġ{ ĠCluster Ref (" c _$ it ", Ġempty List ()) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= Ġnew Topic ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproperties Ġ= ĠTopic Properties ( random . between ( 2 .. 4 ), Ġrandom . between ( 1 .. 3 )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġper Cluster Properties Ġ= Ġall Clusters ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġrandom . next Boolean () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. associate Ġ{ Ġcluster Ref Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcluster Ref . identifier Ġto ĠTopic Properties ( random . between ( 2 .. 4 ), Ġrandom . between ( 1 .. 3 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= Ġrandom . string String Map ( 5 , Ġ 4 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġper Cluster Config Overrides Ġ= Ġall Clusters ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġrandom . next Boolean () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. associate Ġ{ Ġcluster Ref Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcluster Ref . identifier Ġto Ġrandom . string String Map ( 5 , Ġ 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġminim ized Ġ= Ġminim izer . minimize Overrides ( original , Ġall Clusters ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( minim ized Ġ!= Ġoriginal ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnum Min im ized ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġall Clusters . assertThat All Effective Configuration Is Same ( original , Ġminim ized , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" Failure Ġfor Ġseed : Ġ$ seed ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" Failure Ġfor Ġtopic : Ġ$ original ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġe ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġprintln (" Stats : Ġminim ized Ġ$ num Min im ized Ġof Ġ$ num Runs ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠList < Cluster Ref >. assertThat All Effective Configuration Is Same ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoriginal : ĠTopic Description , Ġminim ized : ĠTopic Description , Ġshould Change : ĠBoolean ? ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġidentifiers Ġ= Ġmap Ġ{ Ġit . identifier Ġ} ĊĠĠĠĠĠĠĠ Ġassert All Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ assertThat All Effective Configuration Is Same . forEach Ġ{ Ġcluster Ref Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoriginal Properties Ġ= Ġoriginal . properties For Cluster ( cluster Ref ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġminim ized Properties Ġ= Ġminim ized . properties For Cluster ( cluster Ref ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoriginal Config Ġ= Ġoriginal . config For Cluster ( cluster Ref ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġminim ized Config Ġ= Ġminim ized . config For Cluster ( cluster Ref ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproperties Override Clusters Ġ= Ġminim ized . per Cluster Properties . keys . toList () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġconfigs Override Clusters Ġ= Ġminim ized . per Cluster Properties . keys . toList () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( minim ized Properties ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. ` as ` (" for Ġcluster Ġ'${ cluster Ref . identifier }' Ġproperties Ġare Ġequal ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( original Properties ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( minim ized Config ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. ` as ` (" for Ġcluster Ġ'${ cluster Ref . identifier }' Ġconfig Ġis Ġequal ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( original Config ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( properties Override Clusters ). ` as ` (" has Ġonly Ġknown Ġclusters ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. all Match Ġ{ Ġit Ġin Ġidentifiers Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( configs Override Clusters ). ` as ` (" has Ġonly Ġknown Ġclusters ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. all Match Ġ{ Ġit Ġin Ġidentifiers Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( should Change Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( should Change ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( minim ized ). ` as ` (" should Ġbe Ġchanged "). isNot EqualTo ( original ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( minim ized ). ` as ` (" should Ġnot Ġbe Ġchanged "). isEqualTo ( original ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// assert Ġthat Ġminim ization Ġtook Ġeffect ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( minim ized . per Cluster Properties . size ). ` as ` (" less Ġor Ġequal Ġnumber Ġof Ġproperties Ġoverrides Ġafter ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. is LessThan OrEqualTo ( original . per Cluster Properties . size ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( minim ized . per Cluster Config Overrides . size ). ` as ` (" less Ġor Ġequal Ġnumber Ġof Ġconfig Ġoverrides Ġafter ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. is LessThan OrEqualTo ( original . per Cluster Config Overrides . size ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠRandom . string String Map ( max Keys : ĠInt , Ġvalues Cardinality : ĠInt ): ĠMap < String , ĠString > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrange ( 0 .. max Keys ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġnext Boolean () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. associate Ġ{ Ġ" k _$ it " Ġto Ġ"${ nextInt ( values Cardinality )}" Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠRandom . between ( range : ĠInt Range ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnext Int ( range . last Ġ- Ġrange . first ) Ġ+ Ġrange . first ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠRandom . range ( length Range : ĠInt Range ): ĠList < Int > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ( 1 .. between ( length Range )). map Ġ{ Ġit Ġ} ĊĠĠĠ Ġ} Ċ }