How to change the topic "replicas" number

Solution Verified - Updated -

Issue

  • How to change the topic "replicas" number?
  • "Failure processing KafkaTopic watch event MODIFIED on resource my-topic with labels {strimzi.io/cluster=my-cluster}: Changing 'spec.replicas' is not supported. This KafkaTopic's 'spec.replicas' should be reverted
    to 1 and then the replication should be changed directly in Kafka." error occurs.
[2020-12-25 06:13:33,754] INFO  <TopicWatcher:43> [2.25.0.1/...] 84|kube =my-topic|2411109: event MODIFIED on resource my-topic generation=6, labels={strimzi.io/cluster=my-cluster}                                                                                                                    [16/1977]
[2020-12-25 06:13:33,816] INFO  <opicOperator:536> [oop-thread-0] 84|kube =my-topic|2411109: Reconciling topic my-topic, k8sTopic:nonnull, kafkaTopic:nonnull, privateTopic:nonnull
[2020-12-25 06:13:33,846] INFO  <TopicWatcher:43> [2.25.0.1/...] 85|kube =my-topic|2411110: event MODIFIED on resource my-topic generation=6, labels={strimzi.io/cluster=my-cluster}
[2020-12-25 06:13:33,848] ERROR <TopicWatcher:56> [oop-thread-0] 84|kube =my-topic|2411109: Failure processing KafkaTopic watch event MODIFIED on resource my-topic with labels {strimzi.io/cluster=my-cluster}: Changing 'spec.replicas' is not supported. This KafkaTopic's 'spec.replicas' should be reverted
to 1 and then the replication should be changed directly in Kafka.
io.strimzi.operator.topic.ReplicationFactorChangeException: Changing 'spec.replicas' is not supported. This KafkaTopic's 'spec.replicas' should be reverted to 1 and then the replication should be changed directly in Kafka.
     at io.strimzi.operator.topic.TopicOperator.update3Way(TopicOperator.java:700) ~[io.strimzi.topic-operator-0.20.0.redhat-00003.jar:0.20.0.redhat-00003]
     at io.strimzi.operator.topic.TopicOperator.reconcile(TopicOperator.java:597) ~[io.strimzi.topic-operator-0.20.0.redhat-00003.jar:0.20.0.redhat-00003]
     at io.strimzi.operator.topic.TopicOperator.lambda$reconcileOnResourceChange$24(TopicOperator.java:1062) ~[io.strimzi.topic-operator-0.20.0.redhat-00003.jar:0.20.0.redhat-00003]
     at io.vertx.core.Future.lambda$compose$3(Future.java:368) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.FutureImpl.dispatch(FutureImpl.java:105) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.FutureImpl.tryComplete(FutureImpl.java:150) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.FutureImpl.complete(FutureImpl.java:111) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.FutureImpl.handle(FutureImpl.java:176) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.CompositeFutureImpl.doComplete(CompositeFutureImpl.java:252) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.CompositeFutureImpl.tryComplete(CompositeFutureImpl.java:227) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.CompositeFutureImpl.tryComplete(CompositeFutureImpl.java:232) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.CompositeFutureImpl.complete(CompositeFutureImpl.java:199) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.CompositeFutureImpl.lambda$all$0(CompositeFutureImpl.java:39) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.FutureImpl.dispatch(FutureImpl.java:105) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.FutureImpl.tryComplete(FutureImpl.java:150) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.FutureImpl.complete(FutureImpl.java:111) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.Future.lambda$map$4(Future.java:416) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.FutureImpl.dispatch(FutureImpl.java:105) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.FutureImpl.tryComplete(FutureImpl.java:150) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.FutureImpl.complete(FutureImpl.java:111) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.Future.lambda$recover$6(Future.java:495) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.FutureImpl.dispatch(FutureImpl.java:105) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.FutureImpl.tryComplete(FutureImpl.java:150) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.FutureImpl.complete(FutureImpl.java:111) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.Future.lambda$map$4(Future.java:416) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.FutureImpl.dispatch(FutureImpl.java:105) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.FutureImpl.tryComplete(FutureImpl.java:150) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.FutureImpl.complete(FutureImpl.java:111) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.FutureImpl.handle(FutureImpl.java:176) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.CompositeFutureImpl.doComplete(CompositeFutureImpl.java:252) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.CompositeFutureImpl.tryComplete(CompositeFutureImpl.java:227) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.CompositeFutureImpl.tryComplete(CompositeFutureImpl.java:232) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.CompositeFutureImpl.complete(CompositeFutureImpl.java:199) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.CompositeFutureImpl.lambda$all$0(CompositeFutureImpl.java:39) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.FutureImpl.dispatch(FutureImpl.java:105) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.FutureImpl.tryComplete(FutureImpl.java:150) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.FutureImpl.complete(FutureImpl.java:111) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.strimzi.operator.topic.KafkaImpl.lambda$mapFuture$7(KafkaImpl.java:168) ~[io.strimzi.topic-operator-0.20.0.redhat-00003.jar:0.20.0.redhat-00003]
     at io.vertx.core.impl.ContextImpl.executeTask(ContextImpl.java:366) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.vertx.core.impl.EventLoopContext.lambda$executeAsync$0(EventLoopContext.java:38) ~[io.vertx.vertx-core-3.9.4.redhat-00001.jar:3.9.4.redhat-00001]
     at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) [io.netty.netty-common-4.1.50.Final-redhat-00001.jar:4.1.50.Final-redhat-00001]
     at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472) [io.netty.netty-common-4.1.50.Final-redhat-00001.jar:4.1.50.Final-redhat-00001]
     at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500) [io.netty.netty-transport-4.1.50.Final-redhat-00001.jar:4.1.50.Final-redhat-00001]
     at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) [io.netty.netty-common-4.1.50.Final-redhat-00001.jar:4.1.50.Final-redhat-00001]
     at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [io.netty.netty-common-4.1.50.Final-redhat-00001.jar:4.1.50.Final-redhat-00001]
     at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [io.netty.netty-common-4.1.50.Final-redhat-00001.jar:4.1.50.Final-redhat-00001]
     at java.lang.Thread.run(Thread.java:834) [?:?]
[2020-12-25 06:13:33,859] WARN  <opicOperator:123> [oop-thread-0] Failure processing KafkaTopic watch event MODIFIED on resource my-topic with labels {strimzi.io/cluster=my-cluster}: Changing 'spec.replicas' is not supported. This KafkaTopic's 'spec.replicas' should be reverted to 1 and then the replication should be changed directly in Kafka.
[2020-12-25 06:13:33,862] INFO  <TopicWatcher:47> [oop-thread-1] 85|kube =my-topic|2411110: Success processing event MODIFIED on resource my-topic with labels {strimzi.io/cluster=my-cluster}
my-cluster-kafka-0 kafka 2020-12-25 06:13:35,361 INFO [GroupMetadataManager brokerId=0] Removed 0 expired offsets in 1 milliseconds. (kafka.coordinator.group.GroupMetadataManager) [group-metadata-manager-0]
my-cluster-zookeeper-1 zookeeper 2020-12-25 06:13:35,755 INFO Processing ruok command from /127.0.0.1:45764 (org.apache.zookeeper.server.NettyServerCnxn) [nioEventLoopGroup-4-2]
[2020-12-25 06:13:37,821] INFO  <opicOperator:1215> [oop-thread-0] Starting periodic  reconciliation
[2020-12-25 06:13:37,866] INFO  <opicOperator:536> [oop-thread-1] 86|periodic kafka my-topic|2411110: Reconciling topic my-topic, k8sTopic:nonnull, kafkaTopic:nonnull, privateTopic:nonnull

Environment

  • Red Hat AMQ Streams 1.6

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content