unbridled-41 opened a new pull request, #5979:
URL: https://github.com/apache/rocketmq-dashboard/pull/5979
### Which Issue(s) This PR Fixes
Fixes #5978
### Problem / Evidence
`InstanceService.finishCloudImport` recorded `("IMPORT_CLOUD_INSTANCES",
"INSTANCE", String.valueOf(credentialId), ...)`; the timeline drawer looks rows
up by (resourceType, resourceName) (`MybatisPlusAuditRepository.applyFilters`,
`ResourceOperationTimelineDrawer`), and `auditPresentation.ts` labels
`INSTANCE` as "Instance". The credential service records its own operations as
`CLOUD_CREDENTIAL` + the same id, and the per-instance `CREATE_INSTANCE` audits
already cover the instances an import creates.
### Root cause / Fix
The resource identity held "a number about the import" instead of the entity
it names. Record the credential.
### Priority and scoring
**PRIORITY 50** - impact 18/40 (false attribution plus a missing audit
record for a privileged operation), blast radius 8/20, reproducibility 20/20
(pinned by the updated tests), maintenance value 4/20. **FIX_CONFIDENCE 90**.
### Tests
`cd server && mvn -o -B -ntp test -Dtest='InstanceServiceTest'` -> `Tests
run: 98, Failures: 0, Errors: 0`. The two existing assertions that pinned the
wrong tuple (`importCloudInstancesShouldAuditAFullyFailedImportAsFailedTest`,
`importCloudInstancesShouldContinueAfterUnexpectedRegionFailureTest`) now
require `CLOUD_CREDENTIAL` and fail before this change.
### Risk
Rows written before the change keep the old attribution; nothing else reads
that tuple.
--
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]