[Bug] Validate every Lite consumer subscription against its bound topic
- Dominant language
- Java
- Stars
- 22.6k
- Forks
- 12k
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 27
Description
## Version
Reproduced on develop at `e3458616d`.
## Problem
`ClientProcessor.validateLiteSubTopic` validates only `subList.iterator().next()`. A Lite consumer group with a configured `liteBindTopic` can include another subscription for a different topic as long as the first set element matches.
## Reproduction
1. Configure a consumer group with `liteBindTopic=topic1`.
2. Build a subscription set whose first element targets `topic1` and whose second element targets `topic2`.
3. Call `validateLiteSubTopic`.
4. Observe that no `GrpcProxyException` is thrown.
## Expected
Every subscription in the set must match the configured bound topic; any mismatch must be rejected with `ILLEGAL_TOPIC`.
## Regression coverage
`ClientProcessorTest` contains a focused failing test with one matching and one mismatching subscription.
Contributor guide
Research direction
Start in ClientProcessor.validateLiteSubTopic and inspect the focused failing case in ClientProcessorTest. Run that test with a subscription set containing one matching and one mismatching topic. Done means every subscription is checked and any mismatch is rejected with GrpcProxyException and ILLEGAL_TOPIC.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- distributed-systems
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 82/100