-
Notifications
You must be signed in to change notification settings - Fork 178
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Breaking change in topic auto creation behvaiour #323
Comments
Heyhey, so you're right it was kind of a breaking change, but only if we consider an earlier bug a "feature" :). So instead of reverting the original behavior I'd also suggest creating the topics by default and allowing a config option to disable that behavior. Processors and Views use TopicManagers internally already, so we can add |
😀 Only our daily clusters are configured with auto-create, so I didn't give it a lot of thoughts for production use. You bring up good points about default topic configurations. I'd rather that stayed out of scope for goka since it should already be configured in Kafka. Otherwise, topic creation should be properly implemented in the topic manager. My personal bias is to remain predictable. If I've configured my cluster to auto-create topics, I wouldn't expect apps (goka or otherwise) to fail because of missing topics. Thoughts? |
Ok I agree that topic creation should mostly be done externally. However creating the table-topic and loop-topics should be done in goka, because the environment cannot know for sure how to name/configure them. And as said above, letting the cluster auto-create those topics in particular, will lead to errors in production if the cluster is misconfigured. Maybe we can think of a hybrid solution?
What do you think of that? |
Sorry for the delay. I'm busy with life atm until the second week of June. I'll try to get back to this issue as soon as I can. |
I like the hybrid approach. I think the current approach of not specifying a topic to avoid creating it makes sense. So, for goka's owned topics, we check if they exist without triggering auto-create, and create them if they do not exist. For user defined topics, we just check if they exist and let the broker decide if it should auto-create or fail. In other words, goka shouldn't introduce a duplicate configuration value for topic auto-creation and should rather delegate to the broker. Thoughts? |
This commit efeaf69 introduced a breaking change by actively avoiding creating new topics, regardless of the broker configurations. It breaks integration tests which rely on creating topics automatically. Without it, every integration test needs to be aware of all possible topics used in the participating services, which is hard to maintain.
It would be great to revert to the original behaviour and make the new one available via a config value in
TopicManagerConfig
. Something likeAvoidAutoCreateTopics
.The text was updated successfully, but these errors were encountered: