Turns out Apache Kvrocks does not implement logical databases the same way as Redis. The SELECT command will accept any number and pretend to switch logical databases, but in reality it does not seem to do anything. Because of this, the original database logic is better suited. If a non-Redis database is used, such as Apache Kvrocks, the new database logic is actually a potential regression.
This change is breaking. Markov chain data is moved into an entirely separate logical database and some keys were changed. There is no migration routine for this change, so a fresh Redis database should be used by this point.
When mentioned in a server thread channel, the parent channel's Markov chain is used to generate responses. This avoids low quality sentences which would occur if every server thread channel was given a brand new Markov chain.
Messages received from server thread channels do not get ingested.