You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We need to support rolling upgrade of nodes. And this means backwards and forwards compatibility of messages. We could do version negotiation, but this gets dirty real fast, so instead we want this supported in the serialization format ala protobuf. But the format also must support serde and be fast.
Currently msgpack is used, but the implementation doesn't allow fields to be added to messages and for them to be ignored by old nodes. Similarly, new nodes can't fill in default fields for old messages without those fields.
Bincode is the fastest solution that I've benchmarked but it also doesn't support this.
JSON support in serde is very fast and would probably work here. CBOR takes up less space on the wire but the implementation is at least 5x slower from my prior measurements.
The text was updated successfully, but these errors were encountered:
We need to support rolling upgrade of nodes. And this means backwards and forwards compatibility of messages. We could do version negotiation, but this gets dirty real fast, so instead we want this supported in the serialization format ala protobuf. But the format also must support serde and be fast.
Currently msgpack is used, but the implementation doesn't allow fields to be added to messages and for them to be ignored by old nodes. Similarly, new nodes can't fill in default fields for old messages without those fields.
Bincode is the fastest solution that I've benchmarked but it also doesn't support this.
JSON support in serde is very fast and would probably work here. CBOR takes up less space on the wire but the implementation is at least 5x slower from my prior measurements.
The text was updated successfully, but these errors were encountered: