Details
-
Sub-task
-
Status: Open
-
Normal
-
Resolution: Unresolved
-
None
Description
Our current mechanism for resolving schema differences detected via gossip is quite heavyweight: we request the complete schema from a node, which often results in some very heavy mutations. But in most cases this shouldn't be necessary, as the delta is usually quite small.
We may want to instead negotiate the difference based on schema graph merkle tree (all -> keyspace -> tables/views/types/etc.). This assumes that by then we'd switch to calculating schema digests bases on in-memory representation of Schema, without going to disk.