Build multi-destination replicationInfo per backend#6172
Conversation
Hello maeldonn,My role is to assist you with the merge of this Available options
Available commands
Status report is not available. |
❌ 250 Tests Failed:
View the top 3 failed test(s) by shortest run time
View the full list of 225 ❄️ flaky test(s)
To view more test analytics, go to the Test Analytics Dashboard |
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
|
545c4b6 to
0ff3941
Compare
| // The role is derived from the top-level template with the | ||
| // rule's Account (V2) substituting the account segment. | ||
| const destination = rule.destination ?? config.destination; | ||
| const role = ReplicationConfiguration.resolveDestinationRole(config.role, rule.account); |
There was a problem hiding this comment.
ReplicationConfiguration.resolveDestinationRole does not exist in Arsenal. It is not in the pinned 8.4.2 tag, nor on any branch in the scality/Arsenal repo. This will throw a TypeError: ReplicationConfiguration.resolveDestinationRole is not a function at runtime whenever a CRR backend is encountered.
Either a companion Arsenal PR needs to land and the dependency version bumped here, or this logic needs to be implemented inline.
— Claude Code
|
Match all enabled rules with the object's prefix (highest-priority wins on site collision) and stamp destination/role per CRR backend. Cloud backends get a bare entry — their bucket and credentials live in the location config. ACL replication uses per-backend `role` as the CRR marker so cloud backends keep their status. Legacy V1 and comma-separated `StorageClass` remain supported on read. Issue: CLDSRV-888
0ff3941 to
b98f98f
Compare
| // services, by design) | ||
| const isCloud = site => !!replicationBackends[s3config.locationConstraints[site]?.type]; | ||
| const rules = _withDefaultStorageClass(config.rules || [], s3config); | ||
| const backends = ReplicationConfiguration.resolveBackends( |
There was a problem hiding this comment.
ReplicationConfiguration.resolveBackends is not a function in arsenal 8.4.2. CI shows 110 test failures with TypeError: ReplicationConfiguration.resolveBackends is not a function. The arsenal dependency in package.json needs to be bumped to a version that exports resolveBackends and resolveSourceRole as static methods on ReplicationConfiguration.
— Claude Code
|
Issue: CLDSRV-888