diff --git a/packages/libs/lambda-at-edge/src/default-handler.ts b/packages/libs/lambda-at-edge/src/default-handler.ts index 4af8b03ee0..3183df0ba0 100644 --- a/packages/libs/lambda-at-edge/src/default-handler.ts +++ b/packages/libs/lambda-at-edge/src/default-handler.ts @@ -386,7 +386,7 @@ const handleOriginResponse = async ({ request, pageS3Path: s3Uri, eTag: response.headers["etag"]?.[0].value, - lastModified: response.headers["etag"]?.[0].value, + lastModified: response.headers["last-modified"]?.[0].value, pagePath: staticRoute.page, queueName: regenerationQueueName }); diff --git a/packages/libs/lambda-at-edge/src/lib/triggerStaticRegeneration.ts b/packages/libs/lambda-at-edge/src/lib/triggerStaticRegeneration.ts index beb45e2936..f0e36364f3 100644 --- a/packages/libs/lambda-at-edge/src/lib/triggerStaticRegeneration.ts +++ b/packages/libs/lambda-at-edge/src/lib/triggerStaticRegeneration.ts @@ -57,11 +57,9 @@ export const triggerStaticRegeneration = async ( // We only want to trigger the regeneration once for every previous // update. This will prevent the case where this page is being // requested again whilst its already started to regenerate. - MessageDeduplicationId: - options.eTag ?? - (options.lastModified - ? new Date(options.lastModified).getTime().toString() - : new Date().getTime().toString()), + MessageDeduplicationId: options.lastModified + ? new Date(options.lastModified).getTime().toString() + : options.eTag ?? new Date().getTime().toString(), // Only deduplicate based on the object, i.e. we can generate // different pages in parallel, just not the same one MessageGroupId: hashedUri diff --git a/packages/libs/lambda-at-edge/tests/utils/triggerStaticRegeneration.test.ts b/packages/libs/lambda-at-edge/tests/utils/triggerStaticRegeneration.test.ts index 589b504a5e..8678d63775 100644 --- a/packages/libs/lambda-at-edge/tests/utils/triggerStaticRegeneration.test.ts +++ b/packages/libs/lambda-at-edge/tests/utils/triggerStaticRegeneration.test.ts @@ -90,9 +90,9 @@ describe("triggerStaticRegeneration()", () => { }); it.each` - lastModified | etag | expected - ${"2021-05-05T17:15:04.472Z"} | ${"tag"} | ${"tag"} - ${"2021-05-05T17:15:04.472Z"} | ${undefined} | ${"1620234904472"} + lastModified | etag | expected + ${"2021-05-05T17:15:04.472Z"} | ${"tag"} | ${"1620234904472"} + ${undefined} | ${"tag"} | ${"tag"} `( "should throttle send correct parameters to the queue", async ({ lastModified, etag, expected }) => {