Skip to content

Commit cc3d3f7

Browse files
committed
Few minor nits
1 parent ae7827e commit cc3d3f7

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

kafka/kip-848-migration-guide.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Starting with **confluent-kafka-go 2.12.0** (GA release), 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**.
44

5-
**Note:** The new consumer group protocol defined in [KIP-848](https://cwiki.apache.org/confluence/display/KAFKA/KIP-848%3A+The+Next+Generation+of+the+Consumer+Rebalance+Protocol) is not enabled by default. There are few contract change associated with the new protocol and might cause breaking changes. `group.protocol` configuration property dictates whether to use the new `consumer` protocol or older `classic` protocol. It defaults to `classic` if not provided.
5+
**Note:** The new consumer group protocol defined in [KIP-848](https://cwiki.apache.org/confluence/display/KAFKA/KIP-848%3A+The+Next+Generation+of+the+Consumer+Rebalance+Protocol) is not enabled by default. There are a few contract changes associated with the new protocol and might cause breaking changes. `group.protocol` configuration property dictates whether to use the new `consumer` protocol or older `classic` protocol. It defaults to `classic` if not provided.
66

77
# Overview
88

@@ -51,15 +51,15 @@ All [KIP-848](https://cwiki.apache.org/confluence/display/KAFKA/KIP-848%3A+The+N
5151
- In the **rebalance callbacks**, you **must only use** (optional - if not used, client will handle it internally):
5252
- `consumer.IncrementalAssign(e.Partitions)` to assign new partitions
5353
- `consumer.IncrementalUnassign(e.Partitions)` to revoke partitions
54-
- **Do not** use `consumer.Assign()` or `consumer.Unassign()` when using `group.protocol='consumer'` (KIP-848).
55-
- If you don't provide \*Assign/\*Unassign inside rebalance callbacks, the client will automatically use \*Assign/\*Unassign internally.
54+
- **Do not** use `consumer.Assign()` or `consumer.Unassign()` after subscribing with `group.protocol='consumer'` (KIP-848).
55+
- If you don't call `IncrementalAssign()`/`IncrementalUnassign()` inside rebalance callbacks, the client will automatically use `IncrementalAssign()`/`IncrementalUnassign()` internally.
5656
- ⚠️ The `e.Partitions` list passed to `IncrementalAssign()` and `IncrementalUnassign()` contains only the **incremental changes** — partitions being **added** or **revoked****not the full assignment**, as was the case with `Assign()` in the classic protocol.
5757
- All assignors under KIP-848 are now **sticky**, including `range`, which was **not sticky** in the classic protocol.
5858

5959
## Static Group Membership
6060

6161
- Duplicate `group.instance.id` handling:
62-
- **Newly joining member** is fenced with **UNRELEASED_INSTANCE_ID (fatal)**.
62+
- **Newly joining member** is fenced with **ErrUnreleasedInstanceID (fatal)**.
6363
- (Classic protocol fenced the **existing** member instead.)
6464
- Implications:
6565
- Ensure only **one active instance per** `group.instance.id`.
@@ -74,7 +74,7 @@ All [KIP-848](https://cwiki.apache.org/confluence/display/KAFKA/KIP-848%3A+The+N
7474

7575
## Closing / Auto-Commit
7676

77-
- On `close()` or unsubscribe with auto-commit enabled:
77+
- On `Close()` or `Unsubscribe()` with auto-commit enabled:
7878
- Member retries committing offsets until a timeout expires.
7979
- Currently uses the **default remote session timeout**.
8080
- Future **KIP-1092** will allow custom commit timeouts.
@@ -92,9 +92,9 @@ All [KIP-848](https://cwiki.apache.org/confluence/display/KAFKA/KIP-848%3A+The+N
9292
- **Assignors:** Classic range assignor was **not sticky**; KIP-848 assignors are **sticky**, including range
9393
- **Deprecated configs:** Classic client configs are replaced by `group.remote.assignor` and broker-controlled session/heartbeat configs
9494
- **Static membership fencing:** KIP-848 fences **new member** on duplicate `group.instance.id`
95-
- **Session timeout:** Classic enforced on client; KIP-848 enforced on broker
96-
- **Auto-commit on close:** Classic stops at client session timeout; KIP-848 retries until remote timeout
97-
- **Unknown topics:** KIP-848 does not return error on subscription if topic missing
95+
- **Session timeout:** Classic: enforced on client; KIP-848: enforced on broker
96+
- **Auto-commit on close:** Classic: stops at client session timeout; KIP-848: retries until remote timeout
97+
- **Unknown topics:** KIP-848 does not return error on subscription if topic is missing
9898
- **Upgrade/Downgrade:** KIP-848 supports upgrade/downgrade from/to `classic` and `consumer` protocols
9999

100100
# Minimal Example Config

0 commit comments

Comments
 (0)