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

Head commit for run:
7b7551e7b9090d42eced15014fc1b9b0504eb7d0 / unbridled-41 
<[email protected]>
fix(clients): mark a client list partial when a broker's group inventory was 
unreadable

The consumer scan derives its completeness flag from the per-group queries only:

    complete &= addConsumerConnections(...)          // per broker, per group
    ...
    if (successfulGroupQueries < attemptedGroupQueries) { rows.forEach(r -> 
r.setPartial(true)); }

but the group inventory that feeds those queries swallows a per-broker failure:

    } catch (Exception e) {
        log.warn("Failed to fetch subscription groups from broker={}, 
skipping", ...);
    }

so a broker whose `getAllSubscriptionGroup` fails contributes no groups, every
client that only connects to that broker disappears from /api/clients, and the
remaining rows stay partial=false - the page shows a complete list and no
"partial scan" banner for a scan that clearly is not. The existing test
`directConsumerOnAnotherBrokerInTheClusterRemainsVisibleTest` shows the same
groups are only visible because that broker answered.

Carry the inventory's completeness out of the collection step and include it in
the flag (while keeping the all-brokers-failed 502 and the group-query rules).

Tests (server/): mvn -o -B -ntp test -Dtest='RocketMQClientProviderTest' ->
Tests run: 44, Failures: 0, Errors: 0.
- new aFailedSubscriptionGroupScanMarksTheConsumerRowsPartialTest fails before
  this change ("Expecting value to be true but was false") and passes after it.
- mvn -o -B -ntp test 
-Dtest='RocketMQMetadataProviderTest,RocketMQClientProviderTest,ClientServiceTest'
  -> Tests run: 98, Failures: 0, Errors: 0; checkstyle passes.

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

With regards,
GitHub Actions via GitBox

Reply via email to