-
Notifications
You must be signed in to change notification settings - Fork 244
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CLDSRV-497 Fix BackbeatClient.putMetadata with versionID #5525
Conversation
Hello nicolas2bert,My role is to assist you with the merge of this Status report is not available. |
Request integration branchesWaiting for integration branch creation to be requested by the user. To request integration branches, please comment on this pull request with the following command:
Alternatively, the |
// To prevent this, the versionId field is only included in options when it is defined. | ||
if (versionId !== undefined) { | ||
options.versionId = versionId; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can you confirm this will have no impact when backend is mongo?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I confirm
tests/functional/raw-node/test/routes/routeBackbeatForReplication.js
Outdated
Show resolved
Hide resolved
tests/functional/raw-node/test/routes/routeBackbeatForReplication.js
Outdated
Show resolved
Hide resolved
44a1c1c
to
6a37bf3
Compare
/create_integration_branches |
ConflictA conflict has been raised during the creation of I have not created the integration branch. Here are the steps to resolve this conflict: $ git fetch
$ git checkout -B w/8.6/bugfix/CLDSRV-497/putmetadata origin/development/8.6
$ git merge origin/w/7.70/bugfix/CLDSRV-497/putmetadata
$ # <intense conflict resolution>
$ git commit
$ git push -u origin w/8.6/bugfix/CLDSRV-497/putmetadata The following options are set: create_integration_branches |
ConflictA conflict has been raised during the creation of I have not created the integration branch. Here are the steps to resolve this conflict: $ git fetch
$ git checkout -B w/8.7/bugfix/CLDSRV-497/putmetadata origin/development/8.7
$ git merge origin/w/8.6/bugfix/CLDSRV-497/putmetadata
$ # <intense conflict resolution>
$ git commit
$ git push -u origin w/8.7/bugfix/CLDSRV-497/putmetadata The following options are set: create_integration_branches |
Integration data createdI have created the integration data for the additional destination branches.
The following branches will NOT be impacted:
You can set option
The following options are set: create_integration_branches |
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
The following options are set: create_integration_branches |
@@ -11,7 +11,7 @@ | |||
"test-aws": "AWS_ON_AIR=true mocha -t 40000 test/", | |||
"test-gcp": "mocha -t 40000 test/GCP/", | |||
"test-routes": "mocha -t 40000 test/routes/", | |||
"test": "mocha -t 40000 test/", | |||
"test": "mocha -t 40000 test/routes/routeBackbeatForReplication.js", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
shouldn't this test be renamed as it's targetting now specific tests (unless this was just for testing purpose)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catch, I force-pushed it unwillingly :) https://github.com/scality/cloudserver/compare/44a1c1c4b492ec1a7c16617a3ef91da7430ec290..6a37bf33d836379203a0049ebae8e411040f59fc
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, but I want to know about Maha's comment as well, are we not planning to run the remaining tests?
'default', { signatureVersion: 'v4' }); | ||
const s3 = bucketUtil.s3; | ||
|
||
const bucketSource = 'backbeatbucket-replication-source'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we use unique bucket names? Does it matter?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same for destination
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unique bucket names might hide cleaning issues when done without a clear purpose. Why would we need it?
Issue: When Cloudserver BackbeatClient.putMetadata() option fields are sent to Metadata through the query string, they are converted to strings. As a result, Metadata interprets the value undefined in the versionId field as an empty string (''). Background: Previously, the 'crrExistingObject' script used this bug/behavior as a workaround to generate an internal version ID to replicate null version (= objects created before versioning was enabled). However, this approach has led to inconsistencies, occasionally resulting in the creation of multiple null internal versions. Resolution: To address this issue, the 'crrExistingObject' workaround will be deprecated. Instead, Backbeat will be enhanced to support the replication of null versions directly, thereby ensuring more reliable and consistent behavior in handling versioning.
6a37bf3
to
c52a3a6
Compare
History mismatchMerge commit #6a37bf33d836379203a0049ebae8e411040f59fc on the integration branch It is likely due to a rebase of the branch Please use the The following options are set: create_integration_branches |
@bert-e reset |
Reset completeI have successfully deleted this pull request's integration branches. The following options are set: create_integration_branches |
ConflictA conflict has been raised during the creation of I have not created the integration branch. Here are the steps to resolve this conflict: $ git fetch
$ git checkout -B w/8.6/bugfix/CLDSRV-497/putmetadata origin/development/8.6
$ git merge origin/w/7.70/bugfix/CLDSRV-497/putmetadata
$ # <intense conflict resolution>
$ git commit
$ git push -u origin w/8.6/bugfix/CLDSRV-497/putmetadata The following options are set: create_integration_branches |
ConflictA conflict has been raised during the creation of I have not created the integration branch. Here are the steps to resolve this conflict: $ git fetch
$ git checkout -B w/8.7/bugfix/CLDSRV-497/putmetadata origin/development/8.7
$ git merge origin/w/8.6/bugfix/CLDSRV-497/putmetadata
$ # <intense conflict resolution>
$ git commit
$ git push -u origin w/8.7/bugfix/CLDSRV-497/putmetadata The following options are set: create_integration_branches |
Integration data createdI have created the integration data for the additional destination branches.
The following branches will NOT be impacted:
You can set option
The following options are set: create_integration_branches |
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
The following options are set: create_integration_branches |
@bert-e approve |
In the queueThe changeset has received all authorizations and has been added to the The changeset will be merged in:
The following branches will NOT be impacted:
There is no action required on your side. You will be notified here once IMPORTANT Please do not attempt to modify this pull request.
If you need this pull request to be removed from the queue, please contact a The following options are set: approve, create_integration_branches |
I have successfully merged the changeset of this pull request
The following branches have NOT changed:
Please check the status of the associated issue CLDSRV-497. Goodbye nicolas2bert. |
Issue: When Cloudserver BackbeatClient.putMetadata() option fields are sent to Metadata through the query string, they are converted to strings. As a result, Metadata interprets the value undefined in the versionId field as an empty string ('').
Background: Previously, the 'crrExistingObject' script used this bug/behavior as a workaround to generate an internal version ID to replicate null version (= objects created before versioning was enabled). However, this approach has led to inconsistencies, occasionally resulting in the creation of multiple null internal versions.
Resolution: To address this issue, the 'crrExistingObject' workaround will be deprecated. Instead, Backbeat will be enhanced to support the replication of null versions directly, thereby ensuring more reliable and consistent behavior in handling versioning.