The GitHub Actions job "CI" on rocketmq-dashboard.git/fix/outbox-bookkeeping-utc has failed. Run started by GitHub user unbridled-41 (triggered by unbridled-41).
Head commit for run: f3df92e92d6e0b11a5f2bf461f55f69473b99b22 / unbridled-41 <[email protected]> fix(alert): write the notification-delivery bookkeeping columns in UTC Every instant of a delivery row is written from the service's UTC clock (utcNow() = LocalDateTime.now(ZoneOffset.UTC): next_attempt_at, sending_started_at, delivered_at), the mapper ships gmt_create to the console as createdAt, the page renders it with formatUtcDateTime and the retention cutoff is a UTC instant - but the two bookkeeping columns were left to the database: RmqAlertNotificationOutbox has no gmtCreate field, and no update path named gmt_modified, so MySQL's DEFAULT CURRENT_TIMESTAMP / ON UPDATE CURRENT_TIMESTAMP filled both in the session's zone (deploy/docker-compose.yml sets TZ=Asia/Shanghai for both the database and the server). On the deployed system that shifts the deliveries page by the whole offset: the "Created At" column and the delivery drawer print a time eight hours ahead (a row created three seconds before delivery can print a later time than its delivery), the page's time-range filter selects the wrong window because it sends UTC bounds, and cleanupTerminalDeliveries keeps terminal rows for eight extra hours because it compares gmt_modified (server zone) against a UTC cutoff. Stamp both columns from the same UTC clock on insert and on every update path (the retry release, the delivered transition, the silence deferral, the retry backoff, claimForDispatch and renewClaim). Tests (server/): mvn -o -B -ntp test -Dtest='org.apache.rocketmq.studio.ops.alert.**' -> Tests run: 328, Failures: 0, Errors: 0. - new enqueueStampsBothBookkeepingColumnsInUtcTest and retryingAFailedDeliveryStampsTheModifiedInstantTest fail before this change (the captured row carries no UTC instant; the SET clause lacks gmt_modified) and pass after it, with the JVM default zone set to Asia/Shanghai so the assertion cannot pass by accident. - mvn -o -B -ntp checkstyle:check passes. Note: an earlier pull request with this fix (#4949) was closed by the stale bot after seven days of inactivity, not on technical grounds; this branch is rebased on the current trunk and keeps the delivery time filter that landed after it. Report URL: https://github.com/apache/rocketmq-dashboard/actions/runs/37969591156 With regards, GitHub Actions via GitBox
