-
Notifications
You must be signed in to change notification settings - Fork 24
Open
Description
Hi Team,
We’re integrating OCI Streaming using the .NET SDK and following the consumer group model. We would like clarification regarding how partitions are assigned when only one consumer instance is present in a consumer group, but the stream has multiple partitions (e.g., 4, 8, or more).
Specifically, we want to confirm the following behavior:
When a single consumer instance (with a unique instance Name and associated group Name) is created via the Group Cursor API:
- Will OCI assign all partitions to this single consumer?
- Will the consumer receive messages in a round-robin or interleaved fashion across the partitions?
- Are there any caveats or recommended limits when using a single consumer instance to read from many partitions?
Observed Behavior in POC :
- We did a proof-of-concept (POC) by running a job for 10 minutes:
- This job creates a group cursor and then enters a loop, fetching messages and processing them every 10–20 seconds.
- The fetch loop continues for the full 10-minute duration.
- We noticed that:
- Sometimes all partitions were assigned to the consumer and messages from all were received.
- But in other runs, only a subset of partitions seemed to be assigned and processed throughout the cycle.
This raises the question:
Is there a guarantee that OCI will allocate all available partitions to a single active group member (if only one exists)?
We are asking this to confirm:
- If this single-consumer pattern is production-safe for low-throughput cases.
- If there’s any hidden limitation or retry behavior we should be aware of while fetching from multiple partitions with a single group member.
Metadata
Metadata
Assignees
Labels
No labels