linkedin / linkedin/databus

Client cluster partitioned consumers with multiple consumers not working as expected

Open
#40 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
3.7k
Forks
736
PR merge metrics
No merged PRs in 30d

Description

Hi,

I am new to linkedIn databus. Until now, we were using partitioned consumers with only one consumer in each partition. We changed it to have multiple (2) consumers with each of the partitions under the impression that, for any event both of the consumers of any partition will be called parallely. But, looking at the code, we got that actually onDataEvent function of MultipleConsumerCallback is picking any one of the consumer of a partition randomly.

Can multiple consumers of a partition be called parallely for any event? If yes, what are the config changes that we'd have to make? If no, does the concept of multiple consumer there for load balancing purposes only?

We tried configuring the consumerParallelism (using key as databus.client.connectionDefaults.consumerParallelism) to 2, but that didn't seem to work. Is it there for different purpose or the key we used is wrong?

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with MultipleConsumerCallback and the databus.client.connectionDefaults.consumerParallelism configuration mentioned in the report; trace how partitioned consumers are selected and look for related configuration or tests. Done means establishing whether consumers are invoked in parallel or load-balanced, and documenting or confirming the correct setting if one exists.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.