-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Replication
-
Labels:None
-
Fully Compatible
-
Repl 2021-01-25, Repl 2021-02-08, Repl 2021-02-22
We should be checking whether each parameter in the old command exists in the new command and hasn't become unstable in the new command. If the parameter is optional in the old command, it should be optional in the new command as well. This corresponds to the following pseudocode:
for each command old_cmd: for each parameter old_param in old_cmd: if old_param.unstable: # No guarantees, even if !new_param.unstable. continue new_param := get parameter from new_cmd with old_param's name assert new_param exists and !new_param.unstable if old_param.optional: assert new_param.optional