-
Notifications
You must be signed in to change notification settings - Fork 935
Added migration guide for KIP-848 #2090
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
Conversation
🎉 All Contributor License Agreements have been signed. Ready to merge. |
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.
Pull Request Overview
This PR adds a comprehensive migration guide for KIP-848, the next generation consumer group rebalance protocol, to the CHANGELOG.md file. The guide provides detailed documentation for migrating from the classic consumer protocol to the new KIP-848 protocol.
Key changes:
- Added extensive KIP-848 migration documentation with configuration changes, API differences, and code examples
- Updated the v2.12.0b1 release notes to highlight KIP-848 general availability
- Reorganized AsyncIO Producer documentation into a collapsible details section
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
CHANGELOG.md
Outdated
## v2.12.0b1 - 2025-10-01 | ||
|
||
### Added | ||
- **General Availability for Next Generation Consumer Group Protocol (KIP-848)**: |
Copilot
AI
Oct 7, 2025
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.
Extra space at the end of line 5 should be removed.
- **General Availability for Next Generation Consumer Group Protocol (KIP-848)**: | |
- **General Availability for Next Generation Consumer Group Protocol (KIP-848)**: |
Copilot uses AI. Check for mistakes.
CHANGELOG.md
Outdated
- **General Availability for Next Generation Consumer Group Protocol (KIP-848)**: | ||
Starting with __confluent-kafka-python 2.12.0__, the next generation consumer group rebalance protocol defined in **[KIP-848](https://cwiki.apache.org/confluence/display/KAFKA/KIP-848%3A+The+Next+Generation+of+the+Consumer+Rebalance+Protocol)** is **production-ready** (GA release). | ||
- **AsyncIO Producer (experimental):** Introduces beta class `AIOProducer` for | ||
asynchronous message production in asyncio applications. |
Copilot
AI
Oct 7, 2025
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.
Inconsistent indentation on line 8. The line should start with one space to match the bullet point indentation pattern used elsewhere in the document.
asynchronous message production in asyncio applications. | |
asynchronous message production in asyncio applications. |
Copilot uses AI. Check for mistakes.
CHANGELOG.md
Outdated
|
||
- **Enablement (client-side):** | ||
- `group.protocol=consumer` | ||
- `group.remote.assignor=<assignor>` (optional; broker-controlled if `NULL`; default broker assignor is **`uniform`**) |
Copilot
AI
Oct 7, 2025
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 term 'NULL' should be clarified or replaced with a more user-friendly term like 'unset' or 'not specified', as NULL may be confusing in the context of configuration properties.
- `group.remote.assignor=<assignor>` (optional; broker-controlled if `NULL`; default broker assignor is **`uniform`**) | |
- `group.remote.assignor=<assignor>` (optional; broker-controlled if unset; default broker assignor is **`uniform`**) |
Copilot uses AI. Check for mistakes.
CHANGELOG.md
Outdated
# Optional: select a remote assignor | ||
# Valid options currently: 'uniform' or 'range' | ||
# group.remote.assignor=<uniform,range> | ||
# If unset(NULL), broker chooses the assignor (default: 'uniform') |
Copilot
AI
Oct 7, 2025
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.
Inconsistent terminology: 'unset(NULL)' should match the terminology used elsewhere in the document. Consider using 'unset' consistently instead of mixing 'NULL' and 'unset'.
# If unset(NULL), broker chooses the assignor (default: 'uniform') | |
# If unset, broker chooses the assignor (default: 'uniform') |
Copilot uses AI. Check for mistakes.
c59dce8
to
84fc90d
Compare
This comment has been minimized.
This comment has been minimized.
CHANGELOG.md
Outdated
# Confluent Python Client for Apache Kafka - CHANGELOG | ||
|
||
## Unreleased | ||
## v2.12.0 - 2025-10-01 |
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.
## v2.12.0 - 2025-10-01 | |
## v2.12.0 - 2025-10-09 |
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.
please add a target to the makefile to update this file with pandoc
from the .rst
CHANGELOG.md
Outdated
|
||
## v2.12.0b1 - 2025-10-01 | ||
### [KIP-848](https://cwiki.apache.org/confluence/display/KAFKA/KIP-848%3A+The+Next+Generation+of+the+Consumer+Rebalance+Protocol) – General Availability | ||
Starting with __confluent-kafka-python 2.12.0__, the next generation consumer group rebalance protocol defined in **[KIP-848](https://cwiki.apache.org/confluence/display/KAFKA/KIP-848%3A+The+Next+Generation+of+the+Consumer+Rebalance+Protocol)** is **production-ready**. Please refer the following [migration guide](docs/kip-848-migration-guide.md) for moving from `classic` to `consumer` protocol. |
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.
Starting with __confluent-kafka-python 2.12.0__, the next generation consumer group rebalance protocol defined in **[KIP-848](https://cwiki.apache.org/confluence/display/KAFKA/KIP-848%3A+The+Next+Generation+of+the+Consumer+Rebalance+Protocol)** is **production-ready**. Please refer the following [migration guide](docs/kip-848-migration-guide.md) for moving from `classic` to `consumer` protocol. | |
Starting with __confluent-kafka-python 2.12.0__, the next generation consumer group rebalance protocol defined in **[KIP-848](https://cwiki.apache.org/confluence/display/KAFKA/KIP-848%3A+The+Next+Generation+of+the+Consumer+Rebalance+Protocol)** is **production-ready**. Please refer to the following [migration guide](docs/kip-848-migration-guide.md) for moving from `classic` to `consumer` protocol. |
172ad84
to
c0e823e
Compare
This comment has been minimized.
This comment has been minimized.
docs/kip-848-migration-guide.md
Outdated
|
||
1. Upgrade to **confluent-kafka-python ≥ 2.12.0** (GA release) | ||
2. Run against **Kafka brokers ≥ 4.0.0** | ||
1. Upgrade to **confluent-kafka-python ≥ v2.12.0** (GA release) |
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.
nit: actually the version in semver is 2.12.0 : v2.12.0 is the tag name and we can use it when referring to the tag
c0e823e
to
320db0a
Compare
This comment has been minimized.
This comment has been minimized.
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.
LGTM
What
KIP-848 Migration Guide
Test & Review
Review rendered content here