func (this *Topics) configTopic(zkcluster *zk.ZkCluster, topic string, retentionInMinute int) { /* val SegmentBytesProp = "segment.bytes" val SegmentMsProp = "segment.ms" val SegmentIndexBytesProp = "segment.index.bytes" val FlushMessagesProp = "flush.messages" val FlushMsProp = "flush.ms" val RetentionBytesProp = "retention.bytes" val RententionMsProp = "retention.ms" val MaxMessageBytesProp = "max.message.bytes" val IndexIntervalBytesProp = "index.interval.bytes" val DeleteRetentionMsProp = "delete.retention.ms" val FileDeleteDelayMsProp = "file.delete.delay.ms" val MinCleanableDirtyRatioProp = "min.cleanable.dirty.ratio" val CleanupPolicyProp = "cleanup.policy" */ // ./bin/kafka-topics.sh --zookeeper localhost:2181/kafka --alter --topic foobar --config max.message.bytes=10000101 // zk: {"version":1,"config":{"index.interval.bytes":"10000101","max.message.bytes":"10000101"}} if retentionInMinute < 10 { panic("less than 10 minutes?") } ts := sla.DefaultSla() ts.RetentionHours = float64(retentionInMinute) / 60 output, err := zkcluster.AlterTopic(topic, ts) if err != nil { this.Ui.Error(fmt.Sprintf("%+v: %v", ts, err)) os.Exit(1) } path := zkcluster.GetTopicConfigPath(topic) this.Ui.Info(path) for _, line := range output { this.Ui.Output(line) } }