The GitHub Actions job "CI" on 
rocketmq-dashboard.git/fix/timeout-enrichment-sentinel has failed.
Run started by GitHub user unbridled-41 (triggered by unbridled-41).

Head commit for run:
712b91799da9bc7111fa57be775eb095c4d7d3c3 / unbridled-41 
<[email protected]>
fix(group): report a cancelled group enrichment as unknown, not as zero online 
clients

When the batch deadline cancels a group's enrichment task before it starts, the
snapshot keeps its initial value:

    AtomicReference<GroupLiveSnapshot> snapshot = new 
AtomicReference<>(GroupLiveSnapshot.empty());
    ...
    private static GroupLiveSnapshot empty() { return new 
GroupLiveSnapshot(List.of(), 0, false, ...); }

`onlineInstances = 0` then reaches the API as a measured "this group has no 
online
clients", while the same class maps a failed lookup to the documented sentinel
(`connection.available() ? instances.size() : -1`, and ConsumerGroupVO says "-1 
when
the connection inventory is unavailable"). The consequences are user-visible: 
the
consumer page renders a green 0 for the client column (the sentinel renders as
不可用) and the health verdict turns the zero into a critical
"有堆积但无在线客户端" issue for a group whose inventory was never read.

Initialize the snapshot with the sentinel (renamed `unknown()`), leaving every
worker-written snapshot untouched.

Tests (server/): mvn -o -B -ntp test -Dtest='RocketMQMetadataProviderTest' ->
Tests run: 48, Failures: 0, Errors: 0.
- timedOutGroupEnrichmentMustNotMutateReturnedGroupTest now asserts -1 instead 
of 0
  at both points; it fails before this change (`expected: -1 but was: 0`).
- mvn -o -B -ntp test 
-Dtest='MetadataServiceTest,ConsumerGroupControllerTest,RocketMQClientProviderTest'
  -> Tests run: 125, Failures: 0, Errors: 0; checkstyle passes.

Report URL: 
https://github.com/apache/rocketmq-dashboard/actions/runs/37990990270

With regards,
GitHub Actions via GitBox

Reply via email to