Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-16433

Version family is probably broken for Cassandra 2 and 3.11 in dtests

Agile BoardAttach filesAttach ScreenshotBulk Copy AttachmentsBulk Move AttachmentsVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    Description

      It looks like the version families are a bit confused - when we determine version family for the current build, we do:

          if current_version.vstring.startswith('2.0'):
              version_family = '2.0.x'
          elif current_version.vstring.startswith('2.1'):
              version_family = '2.1.x'
          elif current_version.vstring.startswith('2.2'):
              version_family = '2.2.x'
          elif current_version.vstring.startswith('3.0'):
              version_family = '3.0.x'
          elif '3.1' <= current_version < '4.0':
              version_family = '3.x'
          elif '4.0' <= current_version < '4.1':
              version_family = 'trunk'
          else:
              # when this occurs, it's time to update this manifest a bit!
              raise RuntimeError("4.1+ not yet supported on upgrade tests!")
      

      but later, in the upgrade manifest we have:

      indev_2_1_x = VersionMeta(name='indev_2_1_x', family='2.1', variant='indev', version='github:apache/cassandra-2.1', min_proto_v=1, max_proto_v=3, java_versions=(7, 8))
      current_2_1_x = VersionMeta(name='current_2_1_x', family='2.1', variant='current', version='2.1.20', min_proto_v=1, max_proto_v=3, java_versions=(7, 8))
      
      indev_2_2_x = VersionMeta(name='indev_2_2_x', family='2.2', variant='indev', version='github:apache/cassandra-2.2', min_proto_v=1, max_proto_v=4, java_versions=(7, 8))
      current_2_2_x = VersionMeta(name='current_2_2_x', family='2.2', variant='current', version='2.2.13', min_proto_v=1, max_proto_v=4, java_versions=(7, 8))
      
      indev_3_0_x = VersionMeta(name='indev_3_0_x', family='3.0', variant='indev', version='github:apache/cassandra-3.0', min_proto_v=3, max_proto_v=4, java_versions=(8,))
      current_3_0_x = VersionMeta(name='current_3_0_x', family='3.0', variant='current', version='3.0.23', min_proto_v=3, max_proto_v=4, java_versions=(8,))
      
      indev_3_11_x = VersionMeta(name='indev_3_11_x', family='3.11', variant='indev', version='github:apache/cassandra-3.11', min_proto_v=3, max_proto_v=4, java_versions=(8,))
      current_3_11_x = VersionMeta(name='current_3_11_x', family='3.11', variant='current', version='3.11.9', min_proto_v=3, max_proto_v=4, java_versions=(8,))
      

      later on in the code we have some manifest filtering:

                  if filter_for_current_family and not origin_meta.matches_current_env_version_family and not destination_meta.matches_current_env_version_family:
                      logger.debug("skipping class creation, origin version {} and destination version {} do not match target version {}, and --upgrade-target-version-only was set".format(origin_meta.name, destination_meta.name, VERSION_FAMILY))
                      continue
      

      This does not cause any problems for trunk, but when I tried to run some upgrade tests on 3.11 build, I could not do anything.

      Therefore we need to either change families in manifest as follows:

      • 2.1 -> 2.1.x
      • 2.2 -> 2.2.x
      • 3.0 -> 3.0.x
      • 3.11 -> 3.x

      or change how we assign version family for the current build

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            jlewandowski Jacek Lewandowski Assign to me
            jlewandowski Jacek Lewandowski
            Jacek Lewandowski
            Michael Semb Wever, Tomasz Lasica
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 2h 40m
                2h 40m

                Slack

                  Issue deployment