osiris
osiris copied to clipboard
Log based streaming subsystem for RabbitMQ
The atomic values that is shared by osiris processes to allow readers to know the committed offset without having to call into the osiris process is invalidated if the osiris...
For consistency (with rabbitmq-server) and convenience
Currently the embedded offset tracking can in read-heavy scenarios create a lot of data to be written to the stream that isn't user data. Taken to extremes and given small...
Currently all readers read the entire log and there is no mechanism for "competing" reads, i.e. where multiple readers read entries/chunks in round-robin order, i.e. in order to increase the...
This seems to increase throughput by ~10% on OTP26 and even more on OTP27. In particular, it seems to solve the performance regression with small messages on OTP 27: stream-perf-test...
Currently the maximum supported Bloom filter size is limited to just one byte. There are a few more bytes available in the chunk header, so perhaps using e.g. 4 bytes...
### Is your feature request related to a problem? Please describe. Good to have. ### Describe the solution you'd like Every time a chunk is written the gauge is incremented,...
Minimal change that might be enough?
Much more simple approach, where we just allow custom IO module for segment and idx files.
Early draft days still @kjnilsson Next will try to separate the 'file description' logic to be more 'IO' generic. Will introduce another layer, the `segment_read_type`.