lizhimins opened a new pull request, #7365:
URL: https://github.com/apache/rocketmq-dashboard/pull/7365

   ### What this PR does
   
   Closes the release-readiness gaps found while auditing trunk (`fb6455a03`) 
against the
   Apache 3.0.0 release checklist, in one squashed commit:
   
   - **fix(alert)** — domain-scoped `toggleRule` / `deleteRule` took a plain 
MVCC read and then
     wrote, so management writes never serialized against an evaluation holding
     `SELECT ... FOR UPDATE`. On MySQL the blocked `UPDATE` never appeared as a 
lock wait, which
     is exactly why `AlertRuleEvaluationConcurrencyTest` passed on H2 and 
failed every MySQL run
     (trunk CI red at `fb6455a03`). They now take the locking read the 
repository contract already
     documents (`findRuleByIdForUpdate`), closing the lost-update window 
between concurrent
     management writes at the same time.
   - **chore(legal)** — 99 tracked files had no ASF license header and 60 
carried a truncated
     variant RAT cannot recognize (one of them with a doubled license URL). All 
normalized, and the
     whole repository is now gated by `apache-rat-plugin` 0.18 at the 
`validate` phase plus a named
     `license-headers` CI job. Runtime text resources (banner, AI prompts) and 
machine manifests are
     excluded with reasons.
   - **chore(release)** — adds a `maven-assembly` source-release descriptor 
producing
     `rocketmq-studio-3.0.0-source-release.{zip,tar.gz}` from the repository 
root (build output,
     dependency trees and the untracked `deploy/.env` excluded); moves the 
groupId from
     `com.rocketmq` to `org.apache.rocketmq`; excludes the unused 
`com.alibaba:fastjson` 1.2.83
     transitive declaration of `rocketmq-common` 5.5.0 (no shipped RocketMQ 
class references it —
     verified by constant-pool scanning of the six RocketMQ jars — and 
RocketMQ's JSON path is
     fastjson2, which stays).
   - **chore(security)** — regression scripts no longer default `SSH_TARGET` / 
`STUDIO_URL` to a real
     test-machine address and the deploy skill no longer quotes real ECS/SLB 
IPs; values come from
     the environment (fail fast when unset) and public-IP test vectors use RFC 
5737 documentation
     ranges.
   - **fix(web)** — the instance table overflowed its 1330px container by 40px 
and the audit tables by
     310px / 41px because columns lacked declared widths; every column now has 
an explicit width
     summing to its container, long text is absorbed by `ellipsis`, and 
colgroup budget guards mirror
     the alerts-page precedent.
   - **test(web)** — load-sensitive `DataSourceTab` / `ConsumerPage` waits 
relied on testing-library's
     1s default and failed under CI load; they get an explicit budget, and the 
unmounted-tab case
     compares against the call count captured at unmount instead of a hardcoded 
1.
   - **deploy** — the container packaging build mounts only `server/`, where 
the repo-root-relative
     RAT/assembly gates would scan the container filesystem; both are skipped 
there (they run in CI
     and in local builds).
   
   ### Verification
   
   - Backend: 4181/4181 on H2; `AlertRuleEvaluationConcurrencyTest` 6/6 on 
MySQL 8.0.46 (the exact
     environment CI uses) where it previously failed deterministically.
   - Frontend: 166 test files green, lint 0 errors, `license:test` 8/8, build + 
distribution license
     check green.
   - rmqctl: `fmt`, `catalog-verify`, `vet`, `test-race`, `build` green.
   - `rat:check` green; source-release archive contents inspected (root 
LICENSE/NOTICE present, no
     build output or credentials).
   - Deployed to a test machine and re-measured in a real browser: instance and 
audit tables at
     0px horizontal overflow, page smoke checks on the touched pages green.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to