diff --git a/extensions/lifecycle/tasks/LifecycleTask.js b/extensions/lifecycle/tasks/LifecycleTask.js index 4dd936ef2..4206fc2f6 100644 --- a/extensions/lifecycle/tasks/LifecycleTask.js +++ b/extensions/lifecycle/tasks/LifecycleTask.js @@ -1519,7 +1519,6 @@ class LifecycleTask extends BackbeatTask { .setAttribute('target.key', verToExpire.Key) .setAttribute('target.version', verToExpire.VersionId) .setAttribute('details.dataStoreName', storageClass || '') - .setAttribute('details.lastModified', verToExpire.LastModified) .setAttribute('transitionTime', this._lifecycleDateTime.getTransitionTimestamp( { Days: rules[ncve][ncd] }, staleDate) diff --git a/package.json b/package.json index e31bdcba6..bb032fba9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "backbeat", - "version": "8.6.56", + "version": "8.6.57", "description": "Asynchronous queue and job manager", "main": "index.js", "scripts": { diff --git a/tests/unit/lifecycle/LifecycleTask.spec.js b/tests/unit/lifecycle/LifecycleTask.spec.js index a36680d49..473aaa252 100644 --- a/tests/unit/lifecycle/LifecycleTask.spec.js +++ b/tests/unit/lifecycle/LifecycleTask.spec.js @@ -1597,8 +1597,14 @@ describe('lifecycle task helper methods', () => { latestEntry.getAttribute('target'), expectedTarget); assert.deepStrictEqual( latestEntry.getAttribute('details.dataStoreName'), expectedStorageClass); + + // `details.lastModified` must not be set for NCV expiration, as it is used to + // check that the master version has not changed. This check is not relevant for + // NCV (if anything, we may check that the current version is actually newer + // than this one), and in particular may fail if current revision is a delete + // marker assert.deepStrictEqual( - latestEntry.getAttribute('details.lastModified'), expectedEntries[idx].LastModified); + latestEntry.getAttribute('details.lastModified'), undefined); }); }); });