Christopher Batey
Christopher Batey
In the event of a persitence id running in multiple locations resulting in duplicate sequence numbers we have the replay filter for the messages table: https://doc.akka.io/docs/akka/current/typed/persistence.html#replay-filter However this happens in...
When rebuilding the events by tag view be able to start from a event sequence nr for when there has been some corruption but only in the latest events.
https://github.com/akka/akka-persistence-cassandra/pull/561 adds another test that tries and creates a test to reproduce a race involving responses from the databse. We can add some deterministic tests by overriding the c* query...
Vary: * Try with varying numbers of tags: 2/4/8/16? * Document when to use which bucket size * Compare throughput vs old implementation for a realistic scenario * Compare Cassandra...
When starting an events by tag query with an offset that is in the current time bucket it isn't clear which sequence number to expect. It was initially thought that...
The new eventsByTag maintain a table like this (subject to change): ``` persistence_id | tag | first_bucket | offset | sequence_nr | tag_pid_sequence_nr ----------------+--------+---------------+--------------------------------------+-------------+--------------------- p-62 | green | 1510272000000 |...
If there's a huge gap then something very had has gone on with the C* cluster and we should fail the stream fast rather than look from them all. The...
When looking for missing events we currently re-scan over current and previous time bucket. The same query is used as for normal event scanning which gets all fields from `tag_views`....
``` [0m[[0m[0minfo[0m] [0m[0m[32mEventsByTagSpec:[0m[0m [0m[[0m[0minfo[0m] [0m[0m[32mCassandra query currentEventsByTag[0m[0m [0m[[0m[0minfo[0m] [0m[0m[32m- must set ttl on table (44 milliseconds)[0m[0m [0m[[0m[0minfo[0m] [0m[0m[32m- must implement standard CurrentEventsByTagQuery (1 millisecond)[0m[0m [INFO] [07/16/2019 09:54:08.203] [EventsByTagSpec-akka.actor.default-dispatcher-15] [EventsByTagStage(akka://EventsByTagSpec)] [721f448a-4d63-4e0d-9622-3c9e928f637c]:...
For new persistenceId / tag combinations it isn't known how far back to go however for missing events for tag/pids that we know the last offset all the possible buckets...