Commit Graph

18 Commits

Author SHA1 Message Date
4b6a516f84 update negentropy 2024-08-31 00:34:30 -04:00
ed0ff4fc79 upgrade negentropy 2024-08-31 00:34:01 -04:00
12a39fd5e6 don't use flatbuffers for Event index table (make it opaque) 2024-08-30 17:39:16 -04:00
7377d52016 don't store receivedAt and source metadata 2024-08-30 16:51:43 -04:00
61781f351f use custom packing for indexable data: PackedEvent 2024-08-29 20:18:05 -04:00
c9254adaf8 bugfix: handle malformed/old-format negentropy messages gracefully 2023-09-22 14:49:35 -04:00
4d0eef45f7 use negentropy protocol 0 2023-09-18 11:57:35 -04:00
b2a128d2f3 Normally when a plugin blocks an event, it will log a message. Especially when using plugins in stream, router, etc, this might be too verbose. In order to silence these logs, return an empty string for msg (or no msg at all). 2023-09-10 09:53:30 -04:00
90494cb8b3 bugfix with plugin receivedAt time and sourceType 2023-09-10 09:53:15 -04:00
98f1020ef3 re-org plugins 2023-09-05 23:35:27 -04:00
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
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
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
0d21dc3255 limit on events that can be processed by a sync 2023-07-20 17:45:00 -04:00
4d832684a5 default value for frame-size-limit 2023-06-12 08:58:29 -04:00
a3b4e7baf5 frame size limit for negentropy syncs 2023-06-11 23:44:33 -04:00
d2889bc491 allow writePolicy plugins to filter events downloaded via sync 2023-06-06 01:06:43 -04:00
03ef0958fc apps refactor 2023-06-05 11:39:21 -04:00