osiris
osiris copied to clipboard
Log based streaming subsystem for RabbitMQ
We are using rabbitmq in docker containers with dual stack ipv4 and ipv6 ([ipv4 cannot be disabled in docker](https://github.com/moby/moby/issues/32850)). It looks like replication is listening to ipv4 by default: ```...
### Describe the bug Hi, When the replica gets disconnected there is a big crash in the logs. I don't think it causes any issues itself, it just prints a...
Currently the stream coordinator uses the `osiris_log:overview/1` function to get the tail of each member during the writer selection process. This function does unnecessary index scanning work that the coordinator...
### Describe the bug This function does not check that an entry in the index is also valid in the segment and thus can return values that are not valid....
### Is your feature request related to a problem? Please describe. This could be useful when needing to re-create a stream (for some reason) but still align to externally stored...
TCP keepalive is optional and off by default. Its purpose is to: 1. detect dead peers. If peer is not alive, close the socket to save resources. 2. prevent connection...
We already have a "strict" or "absolute" means of attaching to a log by using `{abs, Offset}` - this mode will error if the offset does not exist in the...
One requested feature that we cannot currently provide is the total number of messages in a stream (or "user entries"). The reason that simply taking the first offset in a...
When compiling with `bin_opt_info`, we have one warning currently: ``` $ ERL_COMPILER_OPTIONS=bin_opt_info make ... src/osiris_log.erl:623: BINARY CREATED: binary is used in term passed to part/2 % 623| validate_crc(Next, Crc, part(DataSize,...