Adopt timestamp-ordered microVersionId in CRR resync tool#395
Conversation
Hello maeldonn,My role is to assist you with the merge of this Available options
Available commands
Status report is not available. |
Incorrect fix versionThe
Considering where you are trying to merge, I ignored possible hotfix versions and I expected to find:
Please check the |
Bump arsenal to pick up the new microVersionId format (ts + seq + repGroupId), required by cascaded CRR for loop detection and stale event handling. The resync tool bypasses CloudServer's S3 API, so it generates a random per-instance repGroupId and passes it to updateMicroVersionId() to avoid colliding with concurrent writers. Issue: S3UTILS-234
1808039 to
1d860c7
Compare
| "@smithy/util-retry": "^4.0.7", | ||
| "JSONStream": "^1.3.5", | ||
| "arsenal": "git+https://github.com/scality/arsenal#8.2.36", | ||
| "arsenal": "git+https://github.com/scality/arsenal#improvement/ARSN-578/micro-version-id", |
There was a problem hiding this comment.
arsenal is pinned to a feature branch (improvement/ARSN-578/micro-version-id) instead of a release tag. Git-based deps must pin to a tag to ensure reproducible builds and avoid picking up unfinished or breaking changes from a moving branch head.
```suggestion
"arsenal": "git+https://github.com/scality/arsenal#",
Review by Claude Code |
| "@smithy/util-retry": "^4.0.7", | ||
| "JSONStream": "^1.3.5", | ||
| "arsenal": "git+https://github.com/scality/arsenal#8.2.36", | ||
| "arsenal": "git+https://github.com/scality/arsenal#improvement/ARSN-578/micro-version-id", |
There was a problem hiding this comment.
`arsenal` is pinned to a feature branch (improvement/ARSN-578/micro-version-id) instead of a release tag. Per project conventions, git-based deps must pin to a tag (like the previous #8.2.36). Branch references are unstable — the resolved commit can change on every install, and the branch may be rebased or deleted. This should be updated to a tagged release of arsenal once the ARSN-578 changes are published.
— Claude Code
Review by Claude Code |
SylvainSenechal
left a comment
There was a problem hiding this comment.
reviewed but let's wait a bit before merging, see how we end up doing things in arsenal
| objMD.setReplicationSiteStatus(storageClass, 'PENDING'); | ||
| objMD.setReplicationStatus('PENDING'); | ||
| objMD.updateMicroVersionId(); | ||
| objMD.updateMicroVersionId(this.replicationGroupId); |
There was a problem hiding this comment.
Coming back here now that we've done some more work on arsenal, I think this function is gonna need a second argument instanceId (which in this case would also be a random value anyways)
Code reference : https://github.com/scality/Arsenal/pull/2628/changes#diff-a7c36ae2e6efb606b627a70a905847bc33a781f53eca944ec00fcbcd40583d4bR1377
To be fully confirmed after Arsenal is approved, still in review for now
Bump arsenal to pick up the new microVersionId format (ts + seq + repGroupId), required by cascaded CRR for loop detection and stale event handling. The resync tool bypasses CloudServer's S3 API, so it generates a random per-instance repGroupId and passes it to updateMicroVersionId() to avoid colliding with concurrent writers.
Issue: S3UTILS-234