Page MenuHomePhabricator

D13212.id43816.diff
No OneTemporary

D13212.id43816.diff

diff --git a/keyserver/src/database/migrations.js b/keyserver/src/database/migrations.js
--- a/keyserver/src/database/migrations.js
+++ b/keyserver/src/database/migrations.js
@@ -35,22 +35,31 @@
for (const {
version: idx,
migrationPromise: migration,
+ migrationType,
} of migrations.values()) {
if (idx <= dbVersion) {
continue;
}
try {
- await startTransaction();
- await migration();
- await updateDBVersion(idx);
- await commitTransaction();
+ if (migrationType === 'wrap_in_transaction_and_block_requests') {
+ await startTransaction();
+ await migration();
+ await updateDBVersion(idx);
+ await commitTransaction();
+ } else {
+ await migration();
+ await updateDBVersion(idx);
+ }
console.log(`(node:${process.pid}) migration ${idx} succeeded.`);
} catch (e) {
const transactionExceptionMessage = String(getMessageForException(e));
console.error(`(node:${process.pid}) migration ${idx} failed.`);
console.error(transactionExceptionMessage);
- await rollbackTransaction();
+
+ if (migrationType === 'wrap_in_transaction_and_block_requests') {
+ await rollbackTransaction();
+ }
return false;
}
}

File Metadata

Mime Type
text/plain
Expires
Fri, Sep 20, 2:35 PM (21 h, 30 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2150365
Default Alt Text
D13212.id43816.diff (1 KB)

Event Timeline