add kafka rabbitmq#1
add kafka rabbitmq#1JasonMetal wants to merge 1 commit intomainJasonMetal/simple-develop-template:mainfrom
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
This is the final PR Bugbot will review for you during this billing cycle
Your free Bugbot reviews will reset on March 16
Details
You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.
To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.
| } | ||
| } | ||
| } | ||
| }() |
There was a problem hiding this comment.
Kafka async producer monitoring goroutine never terminates
High Severity
The goroutine started in getAsyncProducer() runs an infinite for loop monitoring producer.Successes() and producer.Errors() channels, but has no exit mechanism. When CloseKafka() is called and the async producer is closed, these channels are closed by sarama. In Go, reading from a closed channel returns the zero value (nil) immediately without blocking. Since the nil values are filtered by if success != nil and if errMsg != nil checks, the loop becomes a CPU-consuming busy loop that never terminates, causing a goroutine leak and wasted CPU cycles.
Note
High Risk
Introduces new Kafka/RabbitMQ bootstrap initialization and HTTP endpoints plus upgrades the Go toolchain to 1.24, which can affect startup behavior, builds, and runtime dependencies on external brokers.
Overview
Adds first-class Kafka and RabbitMQ support to the service, including new bootstrap implementations (
pkg/support-go/bootstrap/kafka.go,rabbitmq.go) and service wrappers used by API controllers.Exposes new HTTP endpoints for Kafka message send/query and RabbitMQ publish/health/queue-inspection + queue management, and wires them into routing via
routes/base.go.Integrates broker initialization into startup (
bootstrap.Init()), adds per-env configs undermanifest/config/*, installs an async Kafka send error handler inhttp-server.go, and updates dependencies/toolchain ingo.mod(Go1.24+ Sarama + amqp091-go).Written by Cursor Bugbot for commit 8a69130. This will update automatically on new commits. Configure here.