Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-53205

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

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 4.9.0
    • None
    • Replication
    • None
    • Fully Compatible
    • Repl 2021-01-25, Repl 2021-02-08

    Description

      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
      

      Attachments

        Activity

          People

            huayu.ouyang@mongodb.com Huayu Ouyang
            samy.lanka@mongodb.com Samyukta Lanka
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: