Skip to content

Conversation

pranavrth
Copy link
Member

What

KIP-848 Migration Guide

Test & Review

Review rendered content here

@Copilot Copilot AI review requested due to automatic review settings October 7, 2025 13:20
@pranavrth pranavrth requested review from a team and MSeal as code owners October 7, 2025 13:20
@confluent-cla-assistant
Copy link

🎉 All Contributor License Agreements have been signed. Ready to merge.
Please push an empty commit if you would like to re-run the checks to verify CLA status for all contributors.

Copy link

@Copilot Copilot AI left a 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)**:
Copy link

Copilot AI Oct 7, 2025

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.

Suggested change
- **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.
Copy link

Copilot AI Oct 7, 2025

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.

Suggested change
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`**)
Copy link

Copilot AI Oct 7, 2025

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.

Suggested change
- `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')
Copy link

Copilot AI Oct 7, 2025

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'.

Suggested change
# If unset(NULL), broker chooses the assignor (default: 'uniform')
# If unset, broker chooses the assignor (default: 'uniform')

Copilot uses AI. Check for mistakes.

@airlock-confluentinc airlock-confluentinc bot force-pushed the dev_kip-848_migration-guide branch 2 times, most recently from c59dce8 to 84fc90d Compare October 8, 2025 11:43
@sonarqube-confluent

This comment has been minimized.

CHANGELOG.md Outdated
# Confluent Python Client for Apache Kafka - CHANGELOG

## Unreleased
## v2.12.0 - 2025-10-01
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## v2.12.0 - 2025-10-01
## v2.12.0 - 2025-10-09

Copy link
Contributor

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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.

@airlock-confluentinc airlock-confluentinc bot force-pushed the dev_kip-848_migration-guide branch from 172ad84 to c0e823e Compare October 8, 2025 18:24
@sonarqube-confluent

This comment has been minimized.


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)
Copy link
Contributor

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

@airlock-confluentinc airlock-confluentinc bot force-pushed the dev_kip-848_migration-guide branch from c0e823e to 320db0a Compare October 9, 2025 14:15
@sonarqube-confluent

This comment has been minimized.

Copy link
Contributor

@emasab emasab left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@sonarqube-confluent
Copy link

Passed

Analysis Details

0 Issues

  • Bug 0 Bugs
  • Vulnerability 0 Vulnerabilities
  • Code Smell 0 Code Smells

Coverage and Duplications

  • Coverage No coverage information (66.90% Estimated after merge)
  • Duplications No duplication information (4.90% Estimated after merge)

Project ID: confluent-kafka-python

View in SonarQube

@pranavrth pranavrth merged commit ddeafbe into master Oct 9, 2025
3 checks passed
@pranavrth pranavrth deleted the dev_kip-848_migration-guide branch October 9, 2025 17:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants