Skip to content

Commit 8d5b702

Browse files
authored
[Fix] Double rollback calls in transactions (#222)
1 parent f60fbed commit 8d5b702

File tree

5 files changed

+17266
-22013
lines changed

5 files changed

+17266
-22013
lines changed

.changeset/new-melons-sell.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@powersync/web': patch
3+
---
4+
5+
Silencing transactions that are reporting on failed rollback exceptions when they are safe to ignore.

.changeset/red-jobs-turn.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@powersync/react-native': patch
3+
---
4+
5+
Updated dependencies

packages/react-native/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
},
2828
"homepage": "https://docs.powersync.com/",
2929
"peerDependencies": {
30-
"@journeyapps/react-native-quick-sqlite": "^1.1.6",
30+
"@journeyapps/react-native-quick-sqlite": "^1.1.8",
3131
"react": "*",
3232
"react-native": "*",
3333
"react-native-polyfill-globals": "^3.1.0",
@@ -41,7 +41,7 @@
4141
"react-native-fetch-api": "^3.0.0"
4242
},
4343
"devDependencies": {
44-
"@journeyapps/react-native-quick-sqlite": "^1.1.6",
44+
"@journeyapps/react-native-quick-sqlite": "^1.1.8",
4545
"@types/async-lock": "^1.4.0",
4646
"react": "18.2.0",
4747
"react-native": "0.72.4",

packages/web/src/db/adapters/wa-sqlite/WASQLiteDBAdapter.ts

+6-1
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,12 @@ export class WASQLiteDBAdapter extends BaseObserver<DBAdapterListener> implement
199199
return result;
200200
} catch (ex) {
201201
this.logger.debug('Caught ex in transaction', ex);
202-
await rollback();
202+
try {
203+
await rollback();
204+
} catch (ex2) {
205+
// In rare cases, a rollback may fail.
206+
// Safe to ignore.
207+
}
203208
throw ex;
204209
}
205210
};

0 commit comments

Comments
 (0)