From f011663585cf13c41396cbc61bd95bc819b30c7f Mon Sep 17 00:00:00 2001 From: Maha Benzekri Date: Mon, 1 Jul 2024 19:01:30 +0200 Subject: [PATCH 1/3] CLDSRV-548: flag doesNeedOplogUpdate set up --- lib/api/apiUtils/object/createAndStoreObject.js | 5 +++++ lib/services.js | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/api/apiUtils/object/createAndStoreObject.js b/lib/api/apiUtils/object/createAndStoreObject.js index ef4bc06a99..3cd8429c46 100644 --- a/lib/api/apiUtils/object/createAndStoreObject.js +++ b/lib/api/apiUtils/object/createAndStoreObject.js @@ -193,6 +193,11 @@ function createAndStoreObject(bucketName, bucketMD, objectKey, objMD, authInfo, metadataStoreParams.oldReplayId = objMD.uploadId; } + if (objMD && !bucketMD.isVersioningEnabled() && objMD?.archive?.archiveInfo) { + metadataStoreParams.needOplogUpdate = true; + metadataStoreParams.originOp = 's3:ReplaceArchivedObject'; + } + /* eslint-disable camelcase */ const dontSkipBackend = externalBackends; /* eslint-enable camelcase */ diff --git a/lib/services.js b/lib/services.js index 325be6447f..7201d537bf 100644 --- a/lib/services.js +++ b/lib/services.js @@ -109,7 +109,7 @@ const services = { tagging, taggingCopy, replicationInfo, defaultRetention, dataStoreName, creationTime, retentionMode, retentionDate, legalHold, originOp, updateMicroVersionId, archive, oldReplayId, - deleteNullKey, amzStorageClass, overheadField } = params; + deleteNullKey, amzStorageClass, overheadField, needOplogUpdate } = params; log.trace('storing object in metadata'); assert.strictEqual(typeof bucketName, 'string'); const md = new ObjectMD(); @@ -176,6 +176,10 @@ const services = { if (versionId || versionId === '') { options.versionId = versionId; } + if (needOplogUpdate) { + options.needOplogUpdate = true; + options.originOp = originOp; + } if (uploadId) { md.setUploadId(uploadId); options.replayId = uploadId; From a6ef539637f247f036e2ae8844191f5d358c5c88 Mon Sep 17 00:00:00 2001 From: Maha Benzekri Date: Mon, 15 Jul 2024 15:11:03 +0200 Subject: [PATCH 2/3] CLDSRV-548: bump arsenal version --- package.json | 2 +- yarn.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index d7504726c8..b6b576217d 100644 --- a/package.json +++ b/package.json @@ -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#8.1.133", "async": "~2.5.0", "aws-sdk": "2.905.0", "bucketclient": "scality/bucketclient#8.1.9", diff --git a/yarn.lock b/yarn.lock index ad4f1842a7..7217e53586 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1040,9 +1040,9 @@ arraybuffer.slice@~0.0.7: optionalDependencies: ioctl "^2.0.2" -"arsenal@git+https://github.com/scality/arsenal#8.1.130": - version "8.1.130" - resolved "git+https://github.com/scality/arsenal#30eaaf15eb0d6e304c710b0a275410ae7c99d34d" +"arsenal@git+https://github.com/scality/arsenal#8.1.133": + version "8.1.133" + resolved "git+https://github.com/scality/arsenal#817bb836ec0e04fbf083b4c57e42e3986dcdc9bc" dependencies: "@azure/identity" "^3.1.1" "@azure/storage-blob" "^12.12.0" From 4af00b3a4ce7632d79498bf06e394d0393ea0300 Mon Sep 17 00:00:00 2001 From: Maha Benzekri Date: Mon, 15 Jul 2024 15:25:01 +0200 Subject: [PATCH 3/3] CLDSRV-548: bump project version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b6b576217d..296d548898 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@zenko/cloudserver", - "version": "8.8.27", + "version": "8.8.28", "description": "Zenko CloudServer, an open-source Node.js implementation of a server handling the Amazon S3 protocol", "main": "index.js", "engines": {