ardocrat
6d10beaaa2
lmdb: lifetime for iterator, use write transaction at batch iterator
2026-05-25 21:48:05 +03:00
ardocrat
aca71f7aae
lmdb: return an error if removal of old DB file failed after migration
2026-05-25 17:58:31 +03:00
ardocrat
e9e38bd88c
fix: move iterator before handling an error to allow skip bad value
2026-05-25 17:27:12 +03:00
ardocrat
dedaea205f
lmdb: info migration log
2026-05-19 21:50:37 +03:00
ardocrat
a24f30e3ae
Merge branch 'staging' into lmdb_update
2026-05-18 23:25:36 +03:00
ardocrat
7a387d434b
lmdb: migration test, clean data after allocate test
2026-05-18 13:22:24 +03:00
ardocrat
2dd726f17b
lmdb: return an error on unsuccessful migration
2026-05-18 12:48:17 +03:00
ardocrat
9f29af8e14
store: bring back old key methods to reproduce data migration
2026-05-17 13:43:27 +03:00
ardocrat
7bf460992d
lmdb: clear new db after unsuccessful migration, handle read error on migration to interrupt process
2026-05-17 13:35:32 +03:00
ardocrat
17cd0b9ed4
lmdb: fix iter test
2026-05-17 13:25:15 +03:00
ardocrat
b97fa28aa4
lmdb: document migration resize safety
2026-05-17 13:14:36 +03:00
ardocrat
cbf2cafd69
lmdb: fix iterate over 10k keys
2026-05-17 13:09:53 +03:00
ardocrat
630bb2e565
lmdb: handle an error when db with provided key not found
2026-05-17 12:51:42 +03:00
ardocrat
fc66b73e5b
lmdb: handle errors at iterator
2026-05-17 12:36:31 +03:00
ardocrat
418d865c01
lmdb: check iter result on getting total
2026-05-16 12:51:25 +03:00
ardocrat
d217bda12e
lmdb: store max 10k keys in the iterator
2026-05-16 12:44:21 +03:00
ardocrat
7d251d2267
lmdb: use index to detect separator, ignore unknown db key to not have a panic
2026-05-15 18:38:25 +03:00
ardocrat
aa28adc6bd
lmdb: use atomic open txs and stores count
2026-05-15 18:20:13 +03:00
ardocrat
22bc944918
lmdb: sleep 10ms when waiting all opened txs to be closed
2026-05-15 10:53:20 +03:00
ardocrat
f921f8758c
lmdb: use atomic for resize and resize checking flags
2026-05-15 10:52:09 +03:00
ardocrat
55d465beb2
Update rust edition to 2021 ( #3834 )
...
* build: update rust edition 2021
* fix: add missed build to grin_p2p from staging branch
* cargo: format all
2026-05-14 12:15:44 +02:00
ardocrat
894d9e5551
Include git info into docker build, show git ref at version ( #3829 )
...
* ci: include .git directory into build
* p2p: include git ref into version for user agent, show git commit hash instead of last tag into log
* p2p: do not show anything after version if git commit hash is empty
* fix: user agent typo
2026-05-13 20:17:26 +02:00
ardocrat
e172f490ba
ci: staging docker build ( #3832 )
2026-05-12 15:26:42 +02:00
wiesche
7026f8484a
Test staging PR permissions ( #3831 )
2026-05-07 18:16:33 +02:00
ardocrat
db2923a147
p2p: update seed list ( #3828 )
2026-05-07 10:14:29 -04:00
ardocrat
9d0925ab08
lmdb: remove env state when there are no more stores
2026-05-01 01:30:33 +03:00
ardocrat
d52cfe173b
lmdb: immediate resize if there are no open transactions
2026-04-29 23:36:37 +03:00
ardocrat
f41d188dc9
lmdb: count all open transactions to finish before resizing
2026-04-29 22:25:56 +03:00
ardocrat
4cadce1230
fix: pop pos key
2026-04-27 17:41:11 +03:00
ardocrat
9ca157d24c
lmdb: use separate databases instead of prefixes, use default db for values without prefixes, migrate old environment
2026-04-27 12:37:01 +03:00
ardocrat
e22f5acb11
fix: check batches count on resize waiting
2026-04-24 18:25:07 +03:00
ardocrat
deb5b49310
lmdb: use static reader for iterator, count existing batches for stable resize
2026-04-24 18:13:30 +03:00
ardocrat
70040d2160
lmdb: wait db resize before read, reduce timeout before resizing
2026-04-24 13:27:28 +03:00
ardocrat
eef000dfe8
lmdb: default env name
2026-04-23 00:27:22 +03:00
ardocrat
b18f453fa8
lmdb: speed up prefix iter by storing keys
2026-04-22 19:23:28 +03:00
ardocrat
b5eeb37641
fix: resize to have correct multiplier of the system page size
2026-04-21 18:46:04 +03:00
ardocrat
5adec7ad13
build: remove unused dependency
2026-04-20 21:13:50 +03:00
ardocrat
f9a04ff100
lmdb: ability to use multiple shared environments
2026-04-20 21:08:26 +03:00
ardocrat
08e95ce197
fix: revert chunk size to 128mb
2026-04-17 01:26:45 +03:00
ardocrat
fcf0884b34
lmdb: single environment, migrate existing databases with provided non-default environment name
2026-04-17 00:44:09 +03:00
ardocrat
593f4c420a
build: fix missing deps at Cargo.lock
2026-04-16 22:50:53 +03:00
ardocrat
02cce56741
fix: check resizing operation and wait to avoid crash with multiple batches, fix exists check at batch
2026-04-16 14:30:36 +03:00
ardocrat
1036ca6ac1
db: migrate from lmdb-zero to heed
2026-04-16 12:12:34 +03:00
ardocrat
90dab5fcc6
More reliable peers check ( #3824 )
...
* peer: unknown state for new peers, check peers state on every monitor (128 healthy non-connected + 128 defuncts + 128 unknown), mark peer as defunct when ping not passed, do not crash on toml parse with dns failure
* p2p: cleanup before selection at monitor, add outbound to connected list only when there is not enough peers + disconnect extra peer immediately, reconnect to seeds at monitor to avoid stuck, update only defunct state to unknown when received existing peer address
* p2p: reduced amount of total peers to check at monitor
* p2p: do not check healthy and defunct peers more often than once per hour, store last connection attempt, do not ask for more peers when there is enough outbound
* peer: update last_attempt when changing peer state to other than Banned
* fix: log of peers amount to check
2026-04-09 11:55:22 -04:00
ardocrat
af0c1dca02
pibd: fix check for next required kernel segment ( #3822 )
2026-03-25 08:29:15 -04:00
David Burkett
2ec7b4d5cd
Bump version to v5.4.0
2026-03-09 10:44:03 -04:00
David Burkett
41e50cda8f
Fix macOS x86 release workflow
2026-03-08 14:49:22 -04:00
David Burkett
789ff2859c
Prep for release
2026-03-08 14:32:26 -04:00
ardocrat
c2abf1ecf0
GHCR: add arm platform, crash fixes ( #3819 )
...
* ghcr: add arm platform, remove attestation
* ghcr: checkout code to get version
* ghcr: fix tag var format
* docker: --no-tui flag for entrypoint
* docker: install ca-certificates to be able to use grin client inside container
* docker: add default volume, expose API port exposable by making IP address public
2026-02-27 11:52:31 -05:00
ardocrat
376c85bab5
Fix PIBD sync stuck ( #3817 )
...
* pibd: record segment peer to exclude it from re-request
* desegmenter is blocked on a missing kernel
* segment iter
* add indexing
* pibd: log excluded peer
* segment batch optimization
* pibd: debug logging for stale requests
* pibd: filter excluded peer
* pibd: check existing kernel segment identifier
* pibd: simplify peer selection condition
---------
Co-authored-by: Joerg <wiesche89@googlemail.com >
2026-01-08 14:40:59 -05:00