Heikki Linnakangas
827358dd03
Handle OOMs a little more gracefully
2025-05-12 23:33:22 +03:00
Heikki Linnakangas
5623e4665b
bunch of fixes
2025-05-12 18:40:54 +03:00
Heikki Linnakangas
8abb4dab6d
implement shrinking nodes
2025-05-12 03:57:10 +03:00
Heikki Linnakangas
e6a4171fa1
fix concurrency issues with the LFC
...
- Add another locking hash table to track which cached pages are currently being
modified, by smgrwrite() or smgrread() or by prefetch.
- Use single-value Leaf pages in the art tree. That seems simpler after all,
and it eliminates some corner cases where a Value needed to be cloned, which
made it tricky to use atomics or other interior mutability on the Values
2025-05-10 02:36:48 +03:00
Heikki Linnakangas
6dbbdaae73
run 'cargo fmt'
2025-05-06 15:35:56 +03:00
Heikki Linnakangas
977bc09d2a
Bunch of fixes, smarter iterator, metrics exporter
2025-05-06 15:28:50 +03:00
Heikki Linnakangas
44cc648dc8
Implement iterator over keys
...
the implementation is not very optimized, but probably good enough for an MVP
2025-05-06 15:27:38 +03:00
Heikki Linnakangas
884e028a4a
implement deletion in art tree
2025-05-06 15:27:38 +03:00
Heikki Linnakangas
d02f9a2139
Collect garbage, handle OOMs
2025-05-06 15:27:38 +03:00
Heikki Linnakangas
083118e98e
Implement epoch system
2025-05-06 15:27:38 +03:00
Heikki Linnakangas
54cd2272f1
more memory allocation stuff
2025-05-06 15:27:38 +03:00
Heikki Linnakangas
e58d0fece1
New communicator, with "integrated" cache accessible from all processes
2025-04-29 11:52:44 +03:00