Greg Heartsfield
1032a51220
refactor: clippy suggestions
2023-08-09 14:59:39 -07:00
Greg Heartsfield
74376d94e5
improvement: upgrade multiple dependencies
...
Adding addr2line v0.20.0
Updating aes v0.8.2 -> v0.8.3
Adding ahash v0.8.3
Updating aho-corasick v0.7.20 -> v1.0.2
Adding allocator-api2 v0.2.16
Adding android-tzdata v0.1.1
Adding anstream v0.3.2
Adding anstyle v1.0.1
Adding anstyle-parse v0.2.1
Adding anstyle-query v1.0.0
Adding anstyle-wincon v1.0.1
Updating anyhow v1.0.69 -> v1.0.72
Updating async-channel v1.8.0 -> v1.9.0
Updating async-executor v1.5.0 -> v1.5.1
Updating async-io v1.12.0 -> v1.13.0
Updating async-lock v2.6.0 -> v2.7.0
Updating async-stream v0.3.3 -> v0.3.5
Updating async-stream-impl v0.3.3 -> v0.3.5
Updating async-task v4.3.0 -> v4.4.0
Updating async-trait v0.1.64 -> v0.1.72
Updating atomic-waker v1.1.0 -> v1.1.1
Updating axum v0.6.6 -> v0.6.20
Updating axum-core v0.3.2 -> v0.3.4
Adding backtrace v0.3.68
Updating base64 v0.21.0 -> v0.21.2
Adding bitflags v2.3.3
Updating block-buffer v0.10.3 -> v0.10.4
Updating block-padding v0.3.2 -> v0.3.3
Updating blocking v1.3.0 -> v1.3.1
Updating bumpalo v3.12.0 -> v3.13.0
Updating cc v1.0.79 -> v1.0.81
Updating chrono v0.4.23 -> v0.4.26
Updating cipher v0.4.3 -> v0.4.4
Updating clap v4.1.4 -> v4.3.19
Adding clap_builder v4.3.19
Updating clap_derive v4.1.0 -> v4.3.12
Updating clap_lex v0.3.1 -> v0.5.0
Removing codespan-reporting v0.11.1
Adding colorchoice v1.0.0
Updating concurrent-queue v2.1.0 -> v2.2.0
Updating console v0.15.5 -> v0.15.7
Updating console-api v0.4.0 -> v0.5.0
Updating console-subscriber v0.1.8 -> v0.1.10
Updating const_format v0.2.30 -> v0.2.31
Updating const_format_proc_macros v0.2.29 -> v0.2.31
Updating core-foundation-sys v0.8.3 -> v0.8.4
Updating cpufeatures v0.2.5 -> v0.2.9
Updating crossbeam-channel v0.5.6 -> v0.5.8
Updating crossbeam-utils v0.8.14 -> v0.8.16
Removing ctor v0.1.26
Removing cxx v1.0.90
Removing cxx-build v1.0.90
Removing cxxbridge-flags v1.0.90
Removing cxxbridge-macro v1.0.90
Updating dashmap v5.4.0 -> v5.5.0
Adding deranged v0.3.7
Updating digest v0.10.6 -> v0.10.7
Updating dotenvy v0.15.6 -> v0.15.7
Updating either v1.8.1 -> v1.9.0
Adding equivalent v1.0.1
Updating errno v0.2.8 -> v0.3.2
Removing fastrand v1.8.0
Adding fastrand v1.9.0
Adding fastrand v2.0.0
Updating flate2 v1.0.25 -> v1.0.26
Updating form_urlencoded v1.1.0 -> v1.2.0
Updating futures v0.3.26 -> v0.3.28
Updating futures-channel v0.3.26 -> v0.3.28
Updating futures-core v0.3.26 -> v0.3.28
Updating futures-executor v0.3.26 -> v0.3.28
Updating futures-io v0.3.26 -> v0.3.28
Updating futures-lite v1.12.0 -> v1.13.0
Updating futures-macro v0.3.26 -> v0.3.28
Updating futures-sink v0.3.26 -> v0.3.28
Updating futures-task v0.3.26 -> v0.3.28
Updating futures-util v0.3.26 -> v0.3.28
Updating generic-array v0.14.6 -> v0.14.7
Updating getrandom v0.2.8 -> v0.2.10
Adding gimli v0.27.3
Updating h2 v0.3.15 -> v0.3.20
Adding hashbrown v0.14.0
Updating hashlink v0.8.1 -> v0.8.3
Removing hermit-abi v0.2.6
Removing hermit-abi v0.3.1
Adding hermit-abi v0.3.2
Updating http v0.2.8 -> v0.2.9
Removing http-range-header v0.3.0
Updating hyper v0.14.24 -> v0.14.27
Updating iana-time-zone v0.1.53 -> v0.1.57
Updating iana-time-zone-haiku v0.1.1 -> v0.1.2
Updating idna v0.3.0 -> v0.4.0
Removing indexmap v1.9.2
Adding indexmap v1.9.3
Adding indexmap v2.0.0
Updating indicatif v0.17.3 -> v0.17.6
Updating io-lifetimes v1.0.5 -> v1.0.11
Updating is-terminal v0.4.3 -> v0.4.9
Updating itoa v1.0.5 -> v1.0.9
Updating js-sys v0.3.61 -> v0.3.64
Updating libc v0.2.139 -> v0.2.147
Removing link-cplusplus v1.0.8
Removing linux-raw-sys v0.1.4
Adding linux-raw-sys v0.3.8
Adding linux-raw-sys v0.4.5
Updating lock_api v0.4.9 -> v0.4.10
Updating log v0.4.17 -> v0.4.19
Updating matchit v0.7.0 -> v0.7.2
Updating mime v0.3.16 -> v0.3.17
Updating miniz_oxide v0.6.2 -> v0.7.1
Updating mio v0.8.5 -> v0.8.8
Updating nostr v0.18.0 -> v0.18.1
Updating nostr-rs-relay v0.8.9 -> v0.8.10
Updating num-traits v0.2.15 -> v0.2.16
Updating num_cpus v1.15.0 -> v1.16.0
Adding object v0.31.1
Updating once_cell v1.17.0 -> v1.18.0
Updating openssl v0.10.45 -> v0.10.55
Updating openssl-macros v0.1.0 -> v0.1.1
Updating openssl-sys v0.9.80 -> v0.9.90
Removing os_str_bytes v6.4.1
Updating parking v2.0.0 -> v2.1.0
Updating parking_lot_core v0.9.7 -> v0.9.8
Updating paste v1.0.11 -> v1.0.14
Updating percent-encoding v2.2.0 -> v2.3.0
Updating pest v2.5.5 -> v2.7.2
Updating pest_derive v2.5.5 -> v2.7.2
Updating pest_generator v2.5.5 -> v2.7.2
Updating pest_meta v2.5.5 -> v2.7.2
Updating pin-project v1.0.12 -> v1.1.2
Updating pin-project-internal v1.0.12 -> v1.1.2
Updating pin-project-lite v0.2.9 -> v0.2.10
Updating pkg-config v0.3.26 -> v0.3.27
Updating polling v2.5.2 -> v2.8.0
Updating portable-atomic v0.3.19 -> v1.4.2
Updating prettyplease v0.1.23 -> v0.1.25
Removing proc-macro-error v1.0.4
Removing proc-macro-error-attr v1.0.4
Updating proc-macro2 v1.0.51 -> v1.0.66
Updating prost v0.11.6 -> v0.11.9
Updating prost-build v0.11.6 -> v0.11.9
Updating prost-derive v0.11.6 -> v0.11.9
Updating prost-types v0.11.6 -> v0.11.9
Updating quote v1.0.23 -> v1.0.32
Updating raw-cpuid v10.6.1 -> v10.7.0
Adding redox_syscall v0.3.5
Updating regex v1.7.1 -> v1.9.1
Adding regex-automata v0.3.4
Removing regex-syntax v0.6.28
Adding regex-syntax v0.6.29
Adding regex-syntax v0.7.4
Removing remove_dir_all v0.5.3
Adding rustc-demangle v0.1.23
Removing rustix v0.36.8
Adding rustix v0.37.23
Adding rustix v0.38.6
Updating rustls-pemfile v1.0.2 -> v1.0.3
Updating rustversion v1.0.11 -> v1.0.14
Updating ryu v1.0.12 -> v1.0.15
Updating schannel v0.1.21 -> v0.1.22
Updating scheduled-thread-pool v0.2.6 -> v0.2.7
Updating scopeguard v1.1.0 -> v1.2.0
Removing scratch v1.0.3
Updating security-framework v2.8.2 -> v2.9.2
Updating security-framework-sys v2.8.0 -> v2.9.1
Updating serde v1.0.152 -> v1.0.181
Updating serde_derive v1.0.152 -> v1.0.181
Updating serde_json v1.0.93 -> v1.0.104
Updating sha2 v0.10.6 -> v0.10.7
Updating slab v0.4.7 -> v0.4.8
Updating smallvec v1.10.0 -> v1.11.0
Updating socket2 v0.4.7 -> v0.4.9
Updating sqlx v0.6.2 -> v0.6.3
Updating sqlx-core v0.6.2 -> v0.6.3
Updating sqlx-macros v0.6.2 -> v0.6.3
Updating sqlx-rt v0.6.2 -> v0.6.3
Updating stringprep v0.1.2 -> v0.1.3
Updating subtle v2.4.1 -> v2.5.0
Removing syn v1.0.107
Adding syn v1.0.109
Adding syn v2.0.28
Updating tempfile v3.3.0 -> v3.7.0
Removing termcolor v1.2.0
Updating thiserror v1.0.38 -> v1.0.44
Updating thiserror-impl v1.0.38 -> v1.0.44
Updating tikv-jemalloc-sys v0.5.3+5.3.0-patched -> v0.5.4+5.3.0-patched
Updating tikv-jemallocator v0.5.0 -> v0.5.4
Updating time v0.3.20 -> v0.3.25
Updating time-core v0.1.0 -> v0.1.1
Updating time-macros v0.2.8 -> v0.2.11
Updating tokio v1.25.0 -> v1.29.1
Updating tokio-macros v1.8.2 -> v2.1.0
Updating tokio-stream v0.1.11 -> v0.1.14
Updating tokio-util v0.7.7 -> v0.7.8
Adding tonic v0.9.2
Removing tower-http v0.3.5
Updating tracing-attributes v0.1.23 -> v0.1.26
Updating tracing-core v0.1.30 -> v0.1.31
Updating tracing-subscriber v0.3.16 -> v0.3.17
Updating ucd-trie v0.1.5 -> v0.1.6
Updating unicode-bidi v0.3.10 -> v0.3.13
Updating unicode-ident v1.0.6 -> v1.0.11
Updating url v2.3.1 -> v2.4.0
Adding utf8parse v0.2.1
Updating uuid v1.3.0 -> v1.4.1
Updating value-bag v1.0.0-alpha.9 -> v1.4.1
Updating want v0.3.0 -> v0.3.1
Updating wasm-bindgen v0.2.84 -> v0.2.87
Updating wasm-bindgen-backend v0.2.84 -> v0.2.87
Updating wasm-bindgen-futures v0.4.34 -> v0.4.37
Updating wasm-bindgen-macro v0.2.84 -> v0.2.87
Updating wasm-bindgen-macro-support v0.2.84 -> v0.2.87
Updating wasm-bindgen-shared v0.2.84 -> v0.2.87
Updating web-sys v0.3.61 -> v0.3.64
Removing wepoll-ffi v0.1.2
Updating whoami v1.3.0 -> v1.4.1
Removing winapi-util v0.1.5
Adding windows v0.48.0
Updating windows-sys v0.42.0 -> v0.48.0
Removing windows-targets v0.42.1
Adding windows-targets v0.42.2
Adding windows-targets v0.48.1
Removing windows_aarch64_gnullvm v0.42.1
Adding windows_aarch64_gnullvm v0.42.2
Adding windows_aarch64_gnullvm v0.48.0
Removing windows_aarch64_msvc v0.42.1
Adding windows_aarch64_msvc v0.42.2
Adding windows_aarch64_msvc v0.48.0
Removing windows_i686_gnu v0.42.1
Adding windows_i686_gnu v0.42.2
Adding windows_i686_gnu v0.48.0
Removing windows_i686_msvc v0.42.1
Adding windows_i686_msvc v0.42.2
Adding windows_i686_msvc v0.48.0
Removing windows_x86_64_gnu v0.42.1
Adding windows_x86_64_gnu v0.42.2
Adding windows_x86_64_gnu v0.48.0
Removing windows_x86_64_gnullvm v0.42.1
Adding windows_x86_64_gnullvm v0.42.2
Adding windows_x86_64_gnullvm v0.48.0
Removing windows_x86_64_msvc v0.42.1
Adding windows_x86_64_msvc v0.42.2
Adding windows_x86_64_msvc v0.48.0
2023-08-05 11:37:23 -05:00
Greg Heartsfield
05f70112e8
improvement: reduce logging for hex parse failures in events
2023-08-05 07:13:53 -05:00
jiftechnify
c50e10aa21
fix: keep up with the latest specs for since/until filter
2023-07-15 11:12:38 -05:00
Greg Heartsfield
dad6911807
refactor: clippy suggestions
2023-07-03 10:31:22 -05:00
thesimplekid
06fcaad9a1
chore: typos
2023-07-03 09:49:40 -05:00
Greg Heartsfield
087b68128f
fix: ensure startup SQL runs, even with zero min writers
2023-06-23 10:38:06 -05:00
Greg Heartsfield
eba7a32615
perf: reduce SQLite connection count and idle lifetime
...
On lightly loaded relays, we free up memory faster by letting idle
connections be reclaimed in 10 seconds instead of the default 10
minutes. This also sets the minimum to zero connections, instead of
always trying to hold one open.
2023-05-07 19:38:18 -05:00
Greg Heartsfield
2bcddf8bbf
perf: disable sqlite mmap to reduce memory pressure
2023-05-06 15:40:56 -05:00
Greg Heartsfield
04db2203bb
perf: use standard allocator, limit sqlite mmap to 4GB
...
This is an experimental change to see if we can reduce memory usage
with large SQLite databases. If successful, we'll do this again and
further reduce the database mmap size.
This will cause greater use of the page cache, but that is more easily
reclaimed by the kernel, and should reduce memory pressure, as well as
making it clearer how much memory the application is actually using
for connections, subscriptions, etc.
2023-05-03 07:22:44 -05:00
Kieran
beffeb4d86
improvement: add a configurable postgres write conn string
...
This adds a new configurable connection string for postgres writes.
2023-04-30 10:02:10 -05:00
thesimplekid
c13961a5c4
fix: nip05 for postgres
2023-03-03 08:57:23 -06:00
Greg Heartsfield
8c9170d4e3
fix: persist database version for v18 migration
2023-02-25 15:55:00 -06:00
thesimplekid
c0158af18b
feat(NIP-111): pay to relay (experimental)
2023-02-25 15:38:26 -06:00
Greg Heartsfield
c1c25a22f5
refactor: format
2023-02-25 14:49:35 -06:00
thesimplekid
6df92f9580
refactor: format
...
cargo fmt
2023-02-25 14:46:49 -06:00
Greg Heartsfield
5f6ff4c2b7
fix: in-memory SQLite DB correctly shares memory between connections
...
fixes: https://todo.sr.ht/~gheartsfield/nostr-rs-relay/73#event-227131
2023-02-21 08:14:19 -06:00
Greg Heartsfield
df411c24fb
fix: block other writers during checkpoint to eliminate DB lock errors
2023-02-20 16:50:44 -06:00
Greg Heartsfield
9d55731073
fix: Postgres SQL generation for expiring events
2023-02-17 21:04:30 -06:00
Greg Heartsfield
5638f70d66
fix: set SQL tracing back to appropriate level
2023-02-17 20:50:19 -06:00
Greg Heartsfield
bf06bea808
feat(NIP-40): postgres support for event expiration
2023-02-17 13:25:56 -06:00
Greg Heartsfield
e5ca8c2a86
improvement: run expired event cleanup every 10 minutes
2023-02-17 11:22:00 -06:00
Greg Heartsfield
8ea63f0b27
feat(NIP-40): sqlite support for event expiration
2023-02-17 11:15:06 -06:00
0xtr
7fd9b55e70
fix: typo in sqlite_migration.rs
2023-02-15 18:52:49 -06:00
Greg Heartsfield
136e41d234
fix: retry event writes if DB is busy
2023-02-15 18:38:34 -06:00
Kieran
1daa25600d
fix: postgres tag inserts
2023-02-14 06:33:01 -06:00
Greg Heartsfield
2fc9168a38
fix: SQL error with parameterized replaceable events
2023-02-13 17:10:42 -06:00
Greg Heartsfield
15e2f097aa
improvement: advise operator this upgrade may take a minute
2023-02-13 07:37:13 -06:00
Greg Heartsfield
185f9e7abb
feat: improved query performance when looking for deletion events (improves event insert time)
2023-02-12 15:43:22 -06:00
Greg Heartsfield
f44dae6ac9
fix: use correct start time for logging SQL generation
2023-02-12 15:00:50 -06:00
Greg Heartsfield
abc356c17d
perf(sqlite): index tags with their kind/created_at fields
...
This updates the DB schema to remove the distinction between hex and
non-hex tag values, for simplicity. The space savings did not seem to
be worth the extra complexity.
The SQLite tags table is denormalized to duplicate kind/created_at to
improve the ability of tag indexes to filter data.
2023-02-12 14:33:40 -06:00
Naoki Ikeguchi
bd07a11f50
refactor: Fix clippy warnings
2023-02-06 07:29:45 -06:00
thesimplekid
1ca5d652de
format: postgres_migrations
2023-02-06 06:44:57 -06:00
thesimplekid
d7cceab8fc
fix: tag table does not have a unique constraint
...
`cargo fmt` on the document.
2023-02-06 06:44:57 -06:00
Greg Heartsfield
cdd4e5949f
fix: correctly log SQL generation time
2023-02-03 10:39:41 -06:00
Greg Heartsfield
5999009779
improvement: increase connection cache size
2023-02-02 18:34:30 -06:00
Greg Heartsfield
e36c791c53
improvement: prevent spilling temp indexes to disk
2023-02-02 18:15:14 -06:00
Greg Heartsfield
8004ea9b44
fix(NIP-33): only delete older events with matching 'd' tags
2023-02-02 16:09:17 -06:00
Greg Heartsfield
866c239cc9
improvement: simplify SQL queries for tags
2023-02-02 12:24:10 -06:00
Greg Heartsfield
ba4fcd072a
improvement: allow queries to be cancelled earlier (before SQL execution)
2023-02-01 18:09:30 -06:00
Greg Heartsfield
2b79099cfe
improvement: drop slow readers more quickly
2023-02-01 18:09:30 -06:00
Greg Heartsfield
eb1d2d717d
improvement: log sleeps due to full query_tx
2023-02-01 18:09:30 -06:00
Greg Heartsfield
e5e03d4378
improvement: log slow filter query time
2023-02-01 18:09:30 -06:00
Greg Heartsfield
c377b136aa
improvement: prometheus metric for db connections (sqlite)
2023-02-01 18:09:30 -06:00
Greg Heartsfield
bca5614a82
perf: hold database handle through all filters when querying
2023-02-01 18:09:30 -06:00
Greg Heartsfield
ab749e9cf0
improvement: log mixed string/blob tag queries
2023-02-01 07:49:46 -06:00
Greg Heartsfield
1820e9c689
perf: separate out blob and string tag queries
2023-02-01 07:13:29 -06:00
Greg Heartsfield
2d3a35fe30
perf: force event hash index if filter uses ids
2023-02-01 06:46:35 -06:00
Greg Heartsfield
9c77b06f79
improvement: dedupe filters in a REQ
2023-01-31 18:09:43 -06:00
Greg Heartsfield
c8e8b71b91
fix: use accurate timer for slow queries, and use 250ms as cutoff
2023-01-31 18:09:43 -06:00