apache / apache/rocketmq

[Bug] Validate every Lite consumer subscription against its bound topic

Open Beginner friendly
#10,895 1 comment 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.