6b8981e1db
sync improvements and incompatible upgrade
...
* New Negentropy protocol: Syncs with older versions of strfry will break (sorry!)
* Bi-directional frame size limits: fixes a bug when syncing very large DBs where the client side was near empty
* sync command now politely tells server it can release Negentropy resources as soon as reconcile complete
2023-08-12 00:45:51 -04:00
d189cdb349
correctly detect and report when syncs are too large, fix logging
2023-08-12 00:45:51 -04:00
a199e09b84
Merge pull request #54 from jaschadub/master
...
Update deployment documentation
2023-08-11 13:34:16 -04:00
276b243ffd
noReadAhead option, CLOEXEC the LMDB file
2023-08-10 16:36:26 -04:00
206b14a473
sync optimisations, DBQuery no longer loads eventPayload
...
- It is now up to the caller to do so
- QueryScheduler now can optionally not bother to ensure that the events are fresh
2023-07-29 01:14:38 -04:00
94a60c3ad2
bump golpe
2023-07-29 01:11:09 -04:00
ab03a57b18
stop WriterPipeline threads on shutdown
2023-07-27 17:50:07 -04:00
ca0449286c
Stop WSConnection from calling ::exit(), so that the sync command can flush its writes first
...
This fixes a rare race condition that caused a segfault on exit:
We call ::exit() which runs the atexit handler, which destroys the LMDB environment. However, there was another thread running that still had pending events to write, so as the environment was being destroyed, it tried to use the environment to write the events.
2023-07-26 20:24:55 -04:00
0fe929ffcb
make bulk export commands gracefully exit on SIGPIPE (for example, if piped to head)
2023-07-25 00:39:05 -04:00
80915f969d
If a client disconnects before its pending EVENT write messages have been processed, drop those messages instead of trying to write them
2023-07-21 07:46:37 -04:00
7c17b066a1
release 0.9.3
0.9.3
2023-07-21 06:38:17 -04:00
5b3190c54a
detect overflows when rejectEvents* config params are set very large
2023-07-21 06:36:36 -04:00
6d8aeaa881
setting rejectEphemeralEventsOlderThanSeconds larger than ephemeralEventsLifetimeSeconds did not work because events were then considered expired
2023-07-21 06:23:03 -04:00
0ad14851c8
update strfry.conf
2023-07-21 06:22:42 -04:00
f792eb6a5b
make default NIP-11 pubkey and contact empty strings, to silence warnings with default config
2023-07-21 06:21:30 -04:00
1ffcde4ba3
config to log reason for invalid event rejection (default true)
...
- can be disabled to silence excessive logging
2023-07-21 06:20:29 -04:00
42d5101316
Warn when NIP-11 pubkey is in incorrect format ( #52 )
2023-07-20 18:03:40 -04:00
0d21dc3255
limit on events that can be processed by a sync
2023-07-20 17:45:00 -04:00
78033bf03b
docs
2023-07-19 20:07:06 -04:00
62f3d2c724
Update DEPLOYMENT.md
...
Fixed ufw section missing sudo and duplicate http and https
2023-07-13 11:35:02 -07:00
d44b163cc3
Update DEPLOYMENT.md
...
Updated to add more ufw settings and fix ulimit issues on some systems
2023-07-13 11:32:59 -07:00
d83001b40a
bump golpe
0.9.2
2023-06-13 01:50:13 -04:00
4d832684a5
default value for frame-size-limit
0.9.1
2023-06-12 08:58:29 -04:00
7dab0a7406
normalise logging
2023-06-12 08:58:17 -04:00
a3b4e7baf5
frame size limit for negentropy syncs
2023-06-11 23:44:33 -04:00
c18ff8099c
remove relay__negentropy__maxFilterLimit for now
...
- this was causing problems on big DBs
- need more reliable way of enforcing limits
2023-06-10 01:34:16 -04:00
40c3d6156a
log disconnection reasons
2023-06-10 00:46:46 -04:00
01e6421f89
landing page
0.9.0
2023-06-09 01:49:20 -04:00
4cff73b01b
increase DB version to 2
2023-06-08 16:23:12 -04:00
69d4871209
todo
2023-06-06 16:28:19 -04:00
e13275d07c
allow filtering on empty tag values
2023-06-06 15:33:03 -04:00
9a65b1c757
bump golpe
2023-06-06 15:32:58 -04:00
8f974a7831
re-gen config file
2023-06-06 01:55:30 -04:00
62b2b3096f
move relay config into relay app's golpe.yaml
2023-06-06 01:51:41 -04:00
2c72a6ac5d
todo
2023-06-06 01:09:12 -04:00
d2889bc491
allow writePolicy plugins to filter events downloaded via sync
2023-06-06 01:06:43 -04:00
abb488a570
zero downtime restarts
2023-06-05 16:32:35 -04:00
c2f9d61e91
update docs and list of supported NIPs
2023-06-05 12:19:57 -04:00
c0f787a06b
todo
2023-06-05 11:39:24 -04:00
03ef0958fc
apps refactor
2023-06-05 11:39:21 -04:00
ea73aca3f3
when disk is full, make relay log and return errors but not crash
2023-06-05 11:39:21 -04:00
89fe196242
backpressure for WriterPipeline
2023-06-05 11:39:21 -04:00
2c6852ecf9
bugfix for when limit=0
2023-06-05 11:37:55 -04:00
799da2c016
bugfixes in sync
2023-06-05 11:37:55 -04:00
af0fa71f26
in negentropy handler, implement queries stored in events
2023-06-05 11:37:55 -04:00
e2816f6bd5
foreachByFilter feature
2023-06-05 11:37:55 -04:00
d9048acb64
remove debug lines
2023-06-05 11:37:55 -04:00
fbbfc3a974
if two replaceable events have equal timestamps, retain the one with the lowest id
2023-05-19 00:45:11 -04:00
dcb2920578
Back out changes to generalised replacement behaviour, to preserve NIP conformance
...
- d tags only work on kinds 30k-40k
- ephemeral tag is not honoured
2023-05-19 00:14:04 -04:00
476143ca69
testing docs
2023-05-18 23:27:40 -04:00