Check for a removed field from reply type in IDL compatibility checker script

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 4.9.0
    • Affects Version/s: None
    • Component/s: Replication
    • None
    • Fully Compatible
    • Repl 2021-01-25, Repl 2021-02-08
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      We should be checking whether each field in the old command's reply type exists in the new command's reply type and hasn't become unstable in the new command. If the field is optional in the old command's reply type, it should be optional in the new command's reply type as well. This corresponds to the following pseudocode:

      old_reply := old_cmd.reply_type
      new_reply := new_cmd.reply_type
          
      for each field old_field in old_reply:
          if old_field.unstable:
              continue
      
          new_field := get field from new_reply with old_field's name
      
          assert new_field exists and !new_field.unstable
          if new_field.optional:
               assert old_field.optional
      

            Assignee:
            Huayu Ouyang
            Reporter:
            Samyukta Lanka
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: