From 645dd516b833d1f6275f88922078b7f2c09e861e Mon Sep 17 00:00:00 2001 From: Mitch MacKenzie Date: Sat, 6 Sep 2025 23:59:54 -0300 Subject: [PATCH] Retry failed s3 putObject due to conflict --- util/sqliteS3.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/util/sqliteS3.js b/util/sqliteS3.js index cf181728f..67adbeefa 100644 --- a/util/sqliteS3.js +++ b/util/sqliteS3.js @@ -117,10 +117,15 @@ exports.postRequest = async function(event, response) { catch (err) { console.log(err); //@TODO: more descriptive message - return { + let errResponse = { statusCode: 500, body: 'Database error. This can happen when simultaneous database updates happen. Re-try your request.' } + if (err.$metadata && err.$metadata.httpStatusCode === 412) { + errResponse.retry = true; + console.log('Retrying database save to s3 because of a conflicting update.'); + } + return errResponse; } } }