Branch: Spark Connect
The wire schema in zingg_command.proto is a mirror of the java model, and ZinggProtoConverters hand-maps each proto field to its java setter. proto->python is generated automatically, but java model-> proto is manual.
Problem 1 (Sync) : If a field is added/renamed/removed in the java model, nothing forces the proto, the python stub, or the converter to update.
Automate the changes in the python stub, so that it is in sync with the java model.
Question: Each proto filed has a permanent tag number that governs wire compatibility. As the schema evolves, new fields, removed fields, type changes, how are these numbers managed or how do we want to manage those numbers so old and new clients stay compatible? - flagging this for a decision.
Branch: Spark Connect
The wire schema in zingg_command.proto is a mirror of the java model, and ZinggProtoConverters hand-maps each proto field to its java setter. proto->python is generated automatically, but java model-> proto is manual.
Problem 1 (Sync) : If a field is added/renamed/removed in the java model, nothing forces the proto, the python stub, or the converter to update.
Automate the changes in the python stub, so that it is in sync with the java model.
Question: Each proto filed has a permanent tag number that governs wire compatibility. As the schema evolves, new fields, removed fields, type changes, how are these numbers managed or how do we want to manage those numbers so old and new clients stay compatible? - flagging this for a decision.