bugfix: CLDSRV-290 fix PUT /_/backbeat/metadata versioning logic#4844
Conversation
- modify existing `PUT /_/backbeat/metadata` tests to always pass the `versionId` in the query string, as it should be with the updated API contract - create a new test that does not pass the `versionId` in the query string on an update, and expects a new version to be created (and both versions to be readable to ensure no cleanup occurred) - general tech debt cleanup: update the test `versionId` to be in the new base64 format when encoded by removing the extra info, making it exactly 27 characters long
Fix the logic by always using the provided `versionId` in the query string as the version to put, instead of relying on the version stored in the metadata. Not passing a `versionId` now amounts to creating a new version. The previous logic was causing a possible confusion when no `versionId` was passed in the query string, that allowed valid data locations to be removed as if it was an overwrite.
Hello jonathan-gramain,My role is to assist you with the merge of this 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 |
|
ping |
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.4/bugfix/CLDSRV-290-putMetadataRouteShouldNotRemoveValidData origin/development/8.4
$ git merge origin/w/7.70/bugfix/CLDSRV-290-putMetadataRouteShouldNotRemoveValidData
$ # <intense conflict resolution>
$ git commit
$ git push -u origin w/8.4/bugfix/CLDSRV-290-putMetadataRouteShouldNotRemoveValidData |
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.5/bugfix/CLDSRV-290-putMetadataRouteShouldNotRemoveValidData origin/development/8.5
$ git merge origin/w/8.4/bugfix/CLDSRV-290-putMetadataRouteShouldNotRemoveValidData
$ # <intense conflict resolution>
$ git commit
$ git push -u origin w/8.5/bugfix/CLDSRV-290-putMetadataRouteShouldNotRemoveValidData |
Integration data createdI have created the integration data for the additional destination branches.
The following branches will NOT be impacted:
You can set option |
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
|
|
/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 |
|
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-290. Goodbye jonathan-gramain. |
PUT /_/backbeat/metadataversioning logicversionIdin the query string as the version to put, instead of relying on the version stored in the metadata. Not passing aversionIdnow amounts to creating a new version. The previous logic was causing a possible confusion when noversionIdwas passed in the query string, that allowed valid data locations to be removed as if it was an overwrite.PUT /_/backbeat/metadatatestsPUT /_/backbeat/metadatatests to always pass theversionIdin the query string, as it should be with the updated API contractversionIdin the query string on an update, and expects a new version to be created (and both versions to be readable to ensure no cleanup occurred)versionIdto be in the new base64 format when encoded by removing the extra info, making it exactly 27 characters long