The GitHub Actions job "CI" on rocketmq-dashboard.git/fix/dlq-resend-ownership has failed. Run started by GitHub user lizhimins (triggered by lizhimins).
Head commit for run: be4dcbb2c7ca65c9ad8db1ce1d3ceae23fa3d6dc / unbridled-41 <[email protected]> fix(dlq): confine a resend destination to the dead-letter topic's cluster validateResendTargetTopic asks the NameServer whether the destination topic exists - fetchAllTopicList() returns every topic of every cluster registered on that endpoint - and then the resend sends through the instance's producer, which routes by topic name across the same endpoint. On a NameServer that serves several clusters (a documented topology: one instance per cluster, one NameServer behind all of them) an explicit targetTopic that exists only in a sibling cluster therefore passes validation and the replayed messages are published into that other cluster, while the API and the audit record report success. Nothing in the path checks the route or the resource ownership that every sibling write (send, offset reset, direct consume) enforces through ApacheWriteTargetResolver.requireTopicRoute. Compare the destination's route with the dead-letter topic's and reject a mismatch with 409. Only a resolvable route can prove the mismatch, so an unresolvable one is still left to the send itself to fail. Tested: RocketMQDLQProviderTest, 46 passed; the new regression fails on the pre-fix code; checkstyle clean. Report URL: https://github.com/apache/rocketmq-dashboard/actions/runs/37913487539 With regards, GitHub Actions via GitBox
