The GitHub Actions job "CI" on 
rocketmq-dashboard.git/fix/owner-column-width-migration has failed.
Run started by GitHub user unbridled-41 (triggered by unbridled-41).

Head commit for run:
42460bf6333461ea2cfeb9a1ea8886807e4d4360 / unbridled-41 
<[email protected]>
fix(schema): widen the username columns of an existing database at startup

db/schema.sql widens the three columns that store the acting username:

    ALTER TABLE rmq_instance_message MODIFY queried_by VARCHAR(128);
    ALTER TABLE rmq_instance_trace MODIFY queried_by VARCHAR(128);
    ALTER TABLE rmq_operation_audit MODIFY operator VARCHAR(128);

but that file only runs on a new MySQL data directory (deploy/mysql/init.sql is 
mounted
at docker-entrypoint-initdb.d) or in the dev H2 profile; an existing database 
never
re-runs it. No ApplicationRunner widened these columns either, so a volume 
initialised
before the widening keeps VARCHAR(64) forever.

AuthService allows usernames up to 128 characters and 
`rmq_studio_user.username` is
128 wide, so such an account can log in while its query history and audit rows 
cannot
be stored: on strict MySQL (the 8.0 default) the insert fails with 1406 and both
writers only log at WARN (MessageService.recordMessageQuery,
OperationAuditService.record), so that operator's history and audit trail are 
silently
and permanently missing; on a laxer server the value is truncated to 64 
characters and
every owner-scoped read (`eq("queried_by", <full username>)`) misses the row.

Widen the columns in the existing query-history migration runner, idempotently 
and via
the product-appropriate statement (MySQL MODIFY, H2 SET DATA TYPE), and log a 
warning
instead of failing startup when the widening is refused - the column simply 
keeps its
old width and the write path reports the resulting error.

Tests (server/): mvn -o -B -ntp test 
-Dtest='QueryHistorySchemaIndexTest,QueryHistorySchemaMigrationTest'
-> Tests run: 5, Failures: 0, Errors: 0.
- new migrationWidensTheOwnerColumnsOfAnExistingDatabaseTest creates the 
pre-widening
  shape (VARCHAR(64)), runs the migration twice, and asserts 128 plus a 
successful
  100-character insert; it fails before this change (`expected: 128 but was: 
64`).
- mvn -o -B -ntp test -Dtest='org.apache.rocketmq.studio.instance.message.**' ->
  Tests run: 65, Failures: 0, Errors: 0; checkstyle passes.

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

With regards,
GitHub Actions via GitBox

Reply via email to