mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-24 18:40:38 +00:00
Introduce frozen_mutation, from Tomasz: "The immediate motivation for introducing frozen_mutation is inability to deserialize current "mutation" object, which needs schema reference at the time it's constructed. It needs schema to initialize its internal maps with proper key comparators, which depend on schema. We can't lookup schema before we deserialize column family ID. Another problem is that even if we had the ID somehow, low level RPC layer doesn't know how to lookup the schema. This form is primarily destined to be sent over the network channel. Data can be wrapped in frozen_mutation without schema information, the schema is only needed to access some of the fields. frozen_mutation supports reading via visiting, without having to explode it into an object graph. Because of that, application should be more efficient because of fewer cache misses. We also don't have to serialize it back for the commit log, it's serialized only once on the coordinator node. Different serialization formats are not supported yet." Reviewed-by: Pekka Enberg <penberg@cloudius-systems.com>