Skip to content
Snippets Groups Projects
  1. May 13, 2020
    • Erik Johnston's avatar
      Spelling · 00ba9c48
      Erik Johnston authored
      00ba9c48
    • Erik Johnston's avatar
      Shuffle persist event data store functions. (#7440) · 782e4e64
      Erik Johnston authored
      The aim here is to get to a stage where we have a `PersistEventStore` that holds all the write methods used during event persistence, so that we can take that class out of the `DataStore` mixin and instansiate it separately. This will allow us to instansiate it on processes other than master, while also ensuring it is only available on processes that are configured to write to events stream.
      
      This is a bit of an architectural change, where we end up with multiple classes per data store (rather than one per data store we have now). We end up having:
      
      1. Storage classes that provide high level APIs that can talk to multiple data stores.
      2. Data store modules that consist of classes that must point at the same database instance.
      3. Classes in a data store that can be instantiated on processes depending on config.
      782e4e64
    • Erik Johnston's avatar
      Have all instances correctly respond to REPLICATE command. (#7475) · 7ee24c56
      Erik Johnston authored
      Before all streams were only written to from master, so only master needed to respond to `REPLICATE` commands.
      
      Before all instances wrote to the cache invalidation stream, but didn't respond to `REPLICATE`. This was a bug, which could lead to missed rows from cache invalidation stream if an instance is restarted, however all the caches would be empty in that case so it wasn't a problem.
      7ee24c56
    • Erik Johnston's avatar
      Fix Redis reconnection logic (#7482) · 8ca79613
      Erik Johnston authored
      Proactively send out `POSITION` commands (as if we had just received a `REPLICATE`) when we connect to Redis. This is important as other instances won't notice we've connected to issue a `REPLICATE` command (unlike for direct TCP connections). This is only currently an issue if master process reconnects without restarting (if it restarts then it won't have written anything and so other instances probably won't have missed anything). 
      8ca79613
  2. May 12, 2020
  3. May 11, 2020
  4. May 08, 2020
  5. May 07, 2020
  6. May 06, 2020
Loading