question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Issue when creating new topics with TopicOperator

See original GitHub issue

Describe the bug I am getting an issue where some of the topics are not getting created by the Topic Operator. I am creating around 40 topics (16 partitions, 3 replicas) and having a Kafka cluster of 3 brokers. The issue is intermittent as sometimes all the topics get created but other times some of them (5-10 topics) are not getting created. The Kubernetes custom resource (KafkaTopic) is there but the actual kafka topic is not available

To Reproduce Steps to reproduce the behavior:

  1. Create KafkaTopic custom resource
  2. Using helm loop through the KafkaTopic resource and create 40+ topics
  3. Check the status of KafkaTopic resources with NotReady state using kubectl command- kubectl get kt -n kafka --context=testing -o json | jq -r '[.items[] |select(.status.conditions[0].type != "Ready")| .metadata.name]'

Expected behavior All the topics should be created without any issue.

Environment (please complete the following information):

  • Strimzi version: 0.22.1
  • Installation method: Helm chart
  • Kubernetes cluster: Kubernetes 1.20
  • Infrastructure: Amazon EKS
  • Kafka version - 2.7.0

logs I am not getting any substantial information from the Topic Operator logs as well, this is the status of the topic which is in NotReady state-

Status:
   Conditions:   
      Last Transition Time: 2021-11-25T06:07:27.477907Z                                                               
      Message: Call(callName=createTopics, deadlineMs=1637820447475, tries=1, nextAllowedTryMs=1637820447577) timed out at 1637820447477 after 1 attempt()                                                                          
      Reason: TimeoutException 
      Status: True                                                                                                    
      Type: NotReady                                                                                                  
      Observed Generation: 1                                                                                          
Events:            
  Type     Reason    Age       From                                      Message   
  Warning           <unknown>  io.strimzi.operator.topic.TopicOperator  Failure processing KafkaTopic watch event ADDED on resource <Topic-Name> with labels {app.kubernetes.io/managed-by=Helm, strimzi.io/cluster=kafka, tenant-id=<tenant-id>}: Call(callName=createTopics, deadlineMs=1637820447475, tries=1, nextAllowedTryMs=1637820447577) timed out at 1637820447477 after 1 attempt(s)

Additional context I have a couple of questions here- 1- We have around 80 test customers with 40 topics each (16 partitions, 3 replicas) which makes it around 150k partitions in the cluster, is that enough to be handled by a Kafka cluster of 3 brokers? 2- How can we start multiple instances of Entity Operator so that the Topic management load is distributed and we don’t end up in this kind of race condition?

This does seem related to #1775. Let me know if more details are required.

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:5 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
scholzjcommented, Nov 25, 2021

I guess that could be as suggested by @sknot-rh => you might be reaching the limits of the system. Maybe increasing the resources for the Kafka cluster or for the Topic operator might help. But it is not exact science … so you would need to give it a try.

0reactions
AmarendraSingh88commented, Nov 25, 2021

Ok, let me try increasing that and share the results.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Chapter 5. Using the Topic Operator Red Hat AMQ 7.7
When you create, modify or delete a topic using the KafkaTopic resource, the Topic Operator ensures those changes are reflected in the Kafka...
Read more >
Strimzi Documentation (0.7.0)
Create a new Dockerfile using strimzi/kafka-connect:0.7.0 as the base image: ... The Topic Operator provides a way of managing topics in a Kafka...
Read more >
Strimzi Apache Kafka operator doesn't respect auto.create ...
strimzi-topic-operator-kstreams-topic-store-changelog which is represented by strimzi-topic-operator-kstreams-topic-store-changelog--- ...
Read more >
Kafka Topic Operator: How to manage Kafka topics in ...
We needed a custom operator that would allow the creation of topics on a Confluent Kafka cluster using SASL_SSL security protocol. This led...
Read more >
Kafka on Kubernetes, the Strimzi way! (Part 4) - ITNEXT
... and Go clients and saw how easy it is to manage Kafka topics with the Topic Operator. ... kubectl delete kafka/my-kafka-cluster//Create a...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found