-
Notifications
You must be signed in to change notification settings - Fork 13.9k
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
KAFKA-7082: Concurrent create topics may throw NodeExistsException #5259
Conversation
Without this change, we can throw a `NodeExistsException`. This minimal change makes the behaviour match `ZkUtils`. Added a concurrent test that failed without this change.
LGTM |
JDK 10 Jenkins job passed, the 2 failures in the JDK 8 job are unrelated. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ijuma : Thanks for the patch. LGTM
…5259) This is an unexpected exception so `UnknownServerException` is thrown back to the client. This is a minimal change to make the behaviour match `ZkUtils`. This is better, but one could argue that it's not perfect. A more sophisticated approach can be tackled separately. Added a concurrent test that fails without this change. Reviewers: Jun Rao <junrao@gmail.com>
Merged to trunk, 2.0 and 1.1. |
…5259) This is an unexpected exception so `UnknownServerException` is thrown back to the client. This is a minimal change to make the behaviour match `ZkUtils`. This is better, but one could argue that it's not perfect. A more sophisticated approach can be tackled separately. Added a concurrent test that fails without this change. Reviewers: Jun Rao <junrao@gmail.com>
val path = ConfigEntityZNode.path(rootEntityType, sanitizedEntityName) | ||
createRecursive(path, ConfigEntityZNode.encode(config)) | ||
try createRecursive(path, ConfigEntityZNode.encode(config)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The second parameter can be replaced with configData, right ?
…pache#5259) This is an unexpected exception so `UnknownServerException` is thrown back to the client. This is a minimal change to make the behaviour match `ZkUtils`. This is better, but one could argue that it's not perfect. A more sophisticated approach can be tackled separately. Added a concurrent test that fails without this change. Reviewers: Jun Rao <junrao@gmail.com>
…:1.1.1-sync to 1.1-nflx * commit '9611672e287c1a7933a78590e3f381da2ae7d136': (57 commits) MINOR: increase dev version from 1.1.1-SNAPSHOT to 1.1.2-SNAPSHOT (apache#5409) MINOR: Add thread dumps if broker node cannot be stopped (apache#5373) MINOR: update release.py MINOR: fix upgrade docs for Streams (apache#5392) MINOR: improve docs version numbers (apache#5372) Update version on the branch to 1.1.2-SNAPSHOT KAFKA-6292; Improve FileLogInputStream batch position checks to avoid type overflow (apache#4928) HOTFIX: Fix checkstyle errors in MetricsTest (apache#5345) KAFKA-7136: Avoid deadlocks in synchronized metrics reporters (apache#5341) MINOR: Close timing window in SimpleAclAuthorizer startup (apache#5318) MINOR: Use kill_java_processes when killing ConsoleConsumer in system tests (apache#5297) KAFKA-7104: More consistent leader's state in fetch response (apache#5305) Revert "MINOR: Avoid coarse lock in Pool#getAndMaybePut (apache#5258)" MINOR: Avoid coarse lock in Pool#getAndMaybePut (apache#5258) MINOR: bugfix streams total metrics (apache#5277) KAFKA-7082: Concurrent create topics may throw NodeExistsException (apache#5259) MINOR: Upgrade to Gradle 4.8.1 KAFKA-7012: Don't process SSL channels without data to process (apache#5237) KAFKA-7058: Comparing schema default values using Objects#deepEquals() KAFKA-7047: Added SimpleHeaderConverter to plugin isolation whitelist ...
This is an unexpected exception so
UnknownServerException
is thrown back to the client.
This is a minimal change to make the behaviour match
ZkUtils
.This is better, but one could argue that it's not perfect. A more
sophisticated approach can be tackled separately.
Added a concurrent test that fails without this change.
Committer Checklist (excluded from commit message)