mirror of
https://github.com/akvorado/akvorado.git
synced 2025-12-11 22:14:02 +01:00
orchestrator/kafka: alter topic configuration only when needed (config diff) and allow strict policy disabling
This commit is contained in:
@@ -105,12 +105,14 @@ func (c *Component) Start() error {
|
||||
l.Warn().Msgf("mismatch for replication factor: got %d, want %d",
|
||||
topic.ReplicationFactor, c.config.TopicConfiguration.ReplicationFactor)
|
||||
}
|
||||
if err := admin.AlterConfig(sarama.TopicResource, c.kafkaTopic, c.config.TopicConfiguration.ConfigEntries, false); err != nil {
|
||||
l.Err(err).Msg("unable to set topic configuration")
|
||||
return fmt.Errorf("unable to set topic configuration for %q: %w",
|
||||
c.kafkaTopic, err)
|
||||
if ShouldAlterConfiguration(c.config.TopicConfiguration.ConfigEntries, topic.ConfigEntries, c.config.TopicConfiguration.ConfigEntriesStrictSync) {
|
||||
if err := admin.AlterConfig(sarama.TopicResource, c.kafkaTopic, c.config.TopicConfiguration.ConfigEntries, false); err != nil {
|
||||
l.Err(err).Msg("unable to set topic configuration")
|
||||
return fmt.Errorf("unable to set topic configuration for %q: %w",
|
||||
c.kafkaTopic, err)
|
||||
}
|
||||
l.Info().Msg("topic updated")
|
||||
}
|
||||
l.Info().Msg("topic updated")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user