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]

Reply via email to