The Status module that consumes go-ethereum https://status.im
Go to file
Alex Jbanca 790efc16aa fix(databaseLocks): Fixing database lock errors on transactions
The default transaction lock is `deferred`. This means that the transaction will automatically become read or write transaction based on the first DB operation. In case the first operation is `SELECT` the transaction becomes read transaction, otherwise write transaction. When a read transaction tries to write the DB sqlite will promote the transaction to a write transaction if there is no other transaction that holds a lock. When the promotion fails `database is locked` error is returned. The error is returned immediately and does not use the busy handler.
In our case almost all read transaction would fail with `database is locked` error.

This fix is changing the default transaction lock to `IMMEDIATE`. It translates to `BEGIN IMMEDIATE` instead of `BEGIN`. In this mode, the transaction will be created as a write transaction no matter what DB operation will run as part of the transaction. The write transaction will try to obtain the DB lock immediately when `BEGIN IMMEDIATE` is called and the busy handler is used when the DB is locked by other transaction.

Fixing: https://github.com/status-im/status-desktop/issues/10838
2023-05-31 08:46:26 +02:00
.dependabot Patch/dependabot protocol (#1980) 2020-05-19 00:14:02 +01:00
.github fix documentation url in the checklist (#2770) 2022-07-22 22:12:29 +05:30
.vscode chore: fix vscode test run 2022-11-17 10:40:26 +01:00
_assets ci: add timeouts to all Jenkinsfiles 2023-05-29 12:40:08 +02:00
_docs rename status-react to status-mobile 2022-07-17 15:37:14 +02:00
_examples go-waku integration (#2247) 2021-06-16 16:19:45 -04:00
abi-spec Upgrade linter to 1.50.0 2023-01-13 17:52:03 +00:00
account chore: `password` removed from the `DeleteAccount` function 2023-05-09 10:48:44 +02:00
api fix(wallet): replace POKT rpc urls with archival ones (#3533) 2023-05-26 14:32:59 +03:00
appdatabase Changes necessary to restore wallet on mobile app 2023-05-25 21:08:34 +02:00
appmetrics feat: make kdf iterations configurable when creating a multiaccount (#2796) 2022-09-27 16:27:20 -04:00
build/bin add .gitkeep to build/bin so it always exists 2019-03-05 14:22:00 +01:00
cmd Use provided datadir 2023-05-30 23:09:36 +02:00
common Move services to status-node 2021-07-20 10:57:38 +02:00
config config: add new Push notifications fleet 2023-05-19 17:29:18 +01:00
connection Address linter issues 2022-03-28 13:14:12 +01:00
contracts feat(RemoteBurn): Add remote burn collectibles functionality 2023-05-25 13:34:53 +02:00
db Address linter issues 2022-03-28 13:14:12 +01:00
discovery chore: upgrade go-waku and log about messages sent/received 2022-11-09 17:39:17 +03:00
eth-node chore: `password` removed from the `DeleteAccount` function 2023-05-09 10:48:44 +02:00
exchanges URL unfurling (initial implementation) (#3471) 2023-05-18 15:43:06 -03:00
exportlogs Upgrade geth to 1.9.5 and Whisper (#1617) 2019-10-04 17:21:24 +02:00
extkeys Upgrade geth 2021-07-20 10:57:38 +02:00
images URL unfurling (initial implementation) (#3471) 2023-05-18 15:43:06 -03:00
ipfs fix: add mode build param and change ipfs gateway accordingly 2022-08-26 18:57:55 +02:00
logutils fix(logrotation): fix issue where all logs are kept in archive (#3465) 2023-05-11 14:36:01 -04:00
mailserver Changes necessary to restore wallet on mobile app 2023-05-25 21:08:34 +02:00
metrics Upgrade linter to 1.50.0 2023-01-13 17:52:03 +00:00
mobile feat: media server and colorhash related change (#3500) 2023-05-18 14:27:16 +08:00
multiaccounts Changes necessary to restore wallet on mobile app 2023-05-25 21:08:34 +02:00
node Allow setting up wallet with new config 2023-05-19 13:23:21 +01:00
nodecfg fix: add missing waku2 store columns 2023-01-26 13:47:47 -04:00
notifier Notifier package to interact with gorush notifications (#910) 2018-05-08 16:30:03 +02:00
params Add lc-proxy-wrapper dep 2023-05-24 18:48:16 +03:00
peers synchronize display name (#2989) 2022-12-29 14:16:19 +08:00
postgres Anon Metrics Broadcast (#2198) 2021-09-01 13:02:18 +01:00
profiling test: use `T.TempDir` to create temporary test directory (#2746) 2023-04-26 21:39:51 +01:00
protocol fix(pins): prepare content of pin messages so stickers work (#3523) 2023-05-30 15:05:38 -04:00
rpc Add lc-proxy-wrapper dep 2023-05-24 18:48:16 +03:00
rtt rename status-react to status-mobile 2022-07-17 15:37:14 +02:00
server feat: accounts improvements applied 2023-05-25 19:46:47 +02:00
services Fix chats reseting when a Sync signal comes for communities (#3539) 2023-05-29 13:57:05 -04:00
signal feat: accounts improvements applied 2023-05-25 19:46:47 +02:00
sqlite fix(databaseLocks): Fixing database lock errors on transactions 2023-05-31 08:46:26 +02:00
static Changes necessary to restore wallet on mobile app 2023-05-25 21:08:34 +02:00
t Changes necessary to restore wallet on mobile app 2023-05-25 21:08:34 +02:00
telemetry fix: reset bandwidth stats totals every day, and send message size 2023-02-01 16:43:57 -04:00
timesource Move services to status-node 2021-07-20 10:57:38 +02:00
transactions feat: nonce management in multi tx 2023-01-12 12:56:57 +01:00
vendor chore: upgrade libp2p 2023-05-30 10:49:52 -04:00
waku Upgrade linter to 1.50.0 2023-01-13 17:52:03 +00:00
wakuv2 refactor: move circuit relay code to go-waku 2023-05-30 10:49:52 -04:00
.codeclimate.yml Re-organise the code to be more modular (#3172) 2023-03-01 17:23:17 +05:30
.dockerignore Ignore *.test files from all folders (#635) 2018-02-08 14:23:08 +02:00
.gitignore feat: add visual identity service (#2550) 2022-03-11 16:17:48 -05:00
.golangci.yml Remove protocol and eth-node submodules (#1835) 2020-02-10 12:22:37 +01:00
.travis.yml Remove Ropsten and Rinkeby test networks 2022-10-24 14:17:46 +02:00
BOOTNODE.md docs: clarify purpose and describe ports 2020-02-06 18:44:23 +01:00
CMakeLists.txt dev: allow option to force compiling for apple silicon 2022-06-30 09:42:19 +02:00
CONTRIBUTING.md rename status-react to status-mobile 2022-07-17 15:37:14 +02:00
LICENSE.md Create LICENSE.md 2016-09-21 10:00:29 +08:00
MAILSERVER.md rcp.sh: curl wrapper for easier RPC calls 2021-08-24 11:23:25 +02:00
Makefile Add lc-proxy-wrapper dep 2023-05-24 18:48:16 +03:00
README.md Explain how to run Waku node in README (#1921) 2020-04-09 18:33:53 +02:00
RELEASING.md rename status-react to status-mobile 2022-07-17 15:37:14 +02:00
VERSION fix(pins): prepare content of pin messages so stickers work (#3523) 2023-05-30 15:05:38 -04:00
WAKU.md Create WAKU.md with spec support (#1855) 2020-02-21 17:56:15 +08:00
go.mod chore: upgrade libp2p 2023-05-30 10:49:52 -04:00
go.sum chore: upgrade libp2p 2023-05-30 10:49:52 -04:00
nix.conf ci: use Nix shell to provide Android SDK for builds 2022-12-05 15:48:27 +01:00
shell.nix nix: upgrade nixpkgs to include xcodeWrapper fixes 2023-05-04 14:07:47 +02:00