Some input…

We don't need a CEP for this: Diagnostic Events already exists, as do
Virtual Tables. But if you want to take it to a CEP, that's to be
encouraged :)

Virtual Tables should remain virtual, i.e. they shouldn't be backed by
custom system_* tables solely for the sake of persisting the virtual table
data. Furthermore, I'd avoid a) the write amplification this would cause,
and b) putting queue data into a system table. (Let's not repeat the hints
table).

A big +1 to adding a virtual table that reads `DiagnosticEventPersistence.
instance().getEvents(..)`
That is, adding a virtual table for diagnostic events that honours the
already existing backend store (whatever it is memory or binlog). This will
be an effective and elegant solution to CASSANDRA-13472 (thank you for
bringing this to light!)

And, a big +1 to adding local persistence of diagnostic events using binlog
(ChronicleQueue).


> My concern is that there would be "too much data" in them and it might grow
and grow as a node is live, …


It is in the same category as auditing and fql. The limit is there as it is
expected that a client is collecting these events, and that the store
(memory or binlog) is not the permanent archive. Check out how Reaper
collects and archives diagnostic events:
https://github.com/thelastpickle/cassandra-reaper/blob/master/src/server/src/main/java/io/cassandrareaper/service/DiagEventPoller.java

Reply via email to