-
Notifications
You must be signed in to change notification settings - Fork 241
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
Improvement/cldsrv 548 flag update oplog #5613
Improvement/cldsrv 548 flag update oplog #5613
Conversation
Hello benzekrimaha,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 |
package.json
Outdated
@@ -21,7 +21,7 @@ | |||
"dependencies": { | |||
"@azure/storage-blob": "^12.12.0", | |||
"@hapi/joi": "^17.1.0", | |||
"arsenal": "git+https://github.com/scality/arsenal#8.1.130", | |||
"arsenal": "git+https://github.com/scality/arsenal#1f20fe0fdbc0aa55ef71a4c870cd9230f75d494d", |
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.
The project version will be bumped once arsn released
41ae9cd
to
8a39e45
Compare
@@ -193,6 +193,10 @@ function createAndStoreObject(bucketName, bucketMD, objectKey, objMD, authInfo, | |||
metadataStoreParams.oldReplayId = objMD.uploadId; | |||
} | |||
|
|||
if (objMD && !bucketMD.isVersioningEnabled() && objMD.archive && Object.keys(objMD.archive).length > 0) { |
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.
- This handles the case of bucket without versioning ; we may however have the same issue in version suspended case ? @Kerkesni, is there maybe already a function to check if we are in these kind of condition?
- no reason to check Object.keys(objMD.archive) : we should simply check if the object has been written to "cold", i.e.
objMD?.archive?.archiveInfo
(and you must not check the content ofarchiveInfo
, it is supposed to stay opaque: hence the typeany
in arsenal'sObjectMDArchive
)
AFAIR, race conditions (e.g. object deleted/replaced/...) during the archival process should be handled already when finishing the transition : if the object does not exist (or etag does not match), backbeat will post a Delete/GC request back to tape I think...
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.
Looking at the function isVersioningEnabled
isVersioningEnabled() {
const versioningConfig = this.getVersioningConfiguration();
return versioningConfig ? versioningConfig.Status === 'Enabled' : false;
}
This should handle the versioning suspended case also. (returns false when the bucket is non versioned and when it's in versioning suspended mode)
Incorrect fix versionThe
Considering where you are trying to merge, I ignored possible hotfix versions and I expected to find:
Please check the |
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
|
12f67b3
to
dbf5332
Compare
6d56c4b
to
9fab537
Compare
140b5fd
to
d851a2c
Compare
package.json
Outdated
@@ -21,7 +21,7 @@ | |||
"dependencies": { | |||
"@azure/storage-blob": "^12.12.0", | |||
"@hapi/joi": "^17.1.0", | |||
"arsenal": "git+https://github.com/scality/arsenal#8.1.130", | |||
"arsenal": "git+https://github.com/scality/arsenal#817bb836ec0e04fbf083b4c57e42e3986dcdc9bc", |
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.
Just a reminder to bump before merging
998f405
to
4af00b3
Compare
/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-548. Goodbye benzekrimaha. The following options are set: approve |
This PR aims to introduce a flag that will be used by Arsenal to introduce a hack to write the MD twice in the oplog: one "deleted: true" copy of the previous MD, followed by the expected update with the new metadata.
Issue: CLDSRV-548