diff --git a/.github/workflows/backwards_compatibility_tests_workflow.yml b/.github/workflows/backwards_compatibility_tests_workflow.yml index cb196bf7..51c32aa9 100644 --- a/.github/workflows/backwards_compatibility_tests_workflow.yml +++ b/.github/workflows/backwards_compatibility_tests_workflow.yml @@ -31,24 +31,12 @@ on: jobs: Restart-Upgrade-BWCTests-k-NN: - # See https://github.com/opensearch-project/opensearch-jvector/issues/229 - if: false strategy: matrix: java: [ 21 ] os: [ubuntu-latest] - bwc_version : [ "2.0.1", "2.1.0", "2.2.1", "2.3.0", "2.4.1", "2.5.0", "2.6.0", "2.7.0", "2.8.0", "2.9.0", "2.10.0", "2.11.0", "2.12.0", "2.13.0", "2.14.0", "2.15.0", "2.16.0", "2.17.0", "2.18.0","2.19.0-SNAPSHOT", "2.20.0-SNAPSHOT", "3.0.0-SNAPSHOT"] - opensearch_version : [ "3.2.0-SNAPSHOT" ] - exclude: - - os: windows-latest - bwc_version: "2.0.1" - - os: windows-latest - bwc_version: "2.1.0" - - os: windows-latest - bwc_version: "2.2.1" - - os: windows-latest - bwc_version: "2.3.0" - + bwc_version : [ "2.18.0","2.19.1", "3.0.0", "3.2.0", "3.3.0", "3.4.0"] + opensearch_version : [ "3.5.0-SNAPSHOT" ] name: k-NN Restart-Upgrade BWC Tests runs-on: ${{ matrix.os }} env: @@ -128,14 +116,12 @@ jobs: fi Rolling-Upgrade-BWCTests-k-NN: - # See https://github.com/opensearch-project/opensearch-jvector/issues/229 - if: false strategy: matrix: java: [ 21 ] os: [ubuntu-latest] - bwc_version: [ "3.0.0-SNAPSHOT" ] - opensearch_version: [ "3.2.0-SNAPSHOT" ] + bwc_version: [ "2.19.2-SNAPSHOT" ] + opensearch_version: [ "3.5.0-SNAPSHOT" ] name: k-NN Rolling-Upgrade BWC Tests runs-on: ${{ matrix.os }} diff --git a/CHANGELOG.md b/CHANGELOG.md index cea0cba1..20eeb34b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,4 +15,5 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ### Maintenance * Fix vulnerability due to matplotlib CVE-66034 [223] (https://github.com/opensearch-project/opensearch-jvector/pull/223) * Disable some Github workflows since those are failing consistently [231] (https://github.com/opensearch-project/opensearch-jvector/pull/231) +* Fix BWC Github Actions, enable all Github workflows [234] (https://github.com/opensearch-project/opensearch-jvector/pull/234) ### Refactoring diff --git a/qa/restart-upgrade/build.gradle b/qa/restart-upgrade/build.gradle index 227056c7..d18c1e93 100644 --- a/qa/restart-upgrade/build.gradle +++ b/qa/restart-upgrade/build.gradle @@ -23,203 +23,293 @@ testClusters { plugin(project.tasks.zipBwcPlugin.archiveFile) setting 'path.repo', "${buildDir}/cluster/shared/repo/${baseName}" setting 'http.content_type.required', 'true' - } } - def versionsBelow2_3 = ["1.", "2.0.", "2.1.", "2.2."] +def versionsBelow2_3 = ["1.", "2.0.", "2.1.", "2.2."] +def versionOnOrAfter2_17 = ["2.17", "2.18", "2.19", "2.20", "3."] // Task to run BWC tests against the old cluster - task testAgainstOldCluster(type: StandaloneRestIntegTestTask) { - dependsOn "zipBwcPlugin" - useCluster testClusters."${baseName}" - systemProperty 'tests.rest.bwcsuite_cluster', 'old_cluster' - systemProperty 'tests.is_old_cluster', 'true' - systemProperty 'tests.skip_delete_model_index', 'true' - systemProperty 'tests.plugin_bwc_version', knn_bwc_version - - // Skip test if version is 1.0 or 1.1 as they are not supported in those versions - if (knn_bwc_version.startsWith("1.0") || knn_bwc_version.startsWith("1.1")) { - filter { - excludeTestsMatching "org.opensearch.knn.bwc.ModelIT" - excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testKNNIndexCustomMethodFieldMapping" - excludeTestsMatching "org.opensearch.knn.bwc.WarmupIT.testKNNWarmupCustomMethodFieldMapping" - } - } - - // Skip test if version is 1.2 or 1.3 as they are not supported in those versions - if (knn_bwc_version.startsWith("1.2") || knn_bwc_version.startsWith("1.3")) { - filter { - excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testNullParametersOnUpgrade" - } - } - - // Skip test if version is 1.0, 1.1, 1.2 or 1.3 as they are not supported in those versions - if (knn_bwc_version.startsWith("1.") || knn_bwc_version.startsWith("2.")) { - filter { - excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testEmptyParametersOnUpgrade" - } - } - - if (knn_bwc_version.startsWith("1.") || - knn_bwc_version.startsWith("2.0.") || - knn_bwc_version.startsWith("2.1.") || - knn_bwc_version.startsWith("2.2.") || - knn_bwc_version.startsWith("2.3.") || - knn_bwc_version.startsWith("2.4") || - knn_bwc_version.startsWith("2.5.") || - knn_bwc_version.startsWith("2.6.") || - knn_bwc_version.startsWith("2.7.") || - knn_bwc_version.startsWith("2.8.")) { - filter { - excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testKNNIndexLuceneByteVector" - } - } - if (knn_bwc_version.startsWith("1.") || - knn_bwc_version.startsWith("2.0.") || - knn_bwc_version.startsWith("2.1.") || - knn_bwc_version.startsWith("2.2.") || - knn_bwc_version.startsWith("2.3.") || - knn_bwc_version.startsWith("2.4") || - knn_bwc_version.startsWith("2.5.") || - knn_bwc_version.startsWith("2.6.") || - knn_bwc_version.startsWith("2.7.") || - knn_bwc_version.startsWith("2.8.") || - knn_bwc_version.startsWith("2.9.") || - knn_bwc_version.startsWith("2.10.") || - knn_bwc_version.startsWith("2.11.") || - knn_bwc_version.startsWith("2.12.") || - knn_bwc_version.startsWith("2.13.") || - knn_bwc_version.startsWith("2.14.") || - knn_bwc_version.startsWith("2.15.")) { - filter { - excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testKNNIndexLuceneQuantization" - excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testKNNIndexBinaryForceMerge" - } - } - - - if (versionsBelow2_3.any {knn_bwc_version.startsWith(it) }) { - filter { - excludeTestsMatching "org.opensearch.knn.bwc.QueryANNIT.testQueryOnLuceneIndex" - excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testKNNIndexLuceneForceMerge" - } - } - if (!(knn_bwc_version.startsWith("2.13.") || - knn_bwc_version.startsWith("2.14.") || - knn_bwc_version.startsWith("2.15.") || - knn_bwc_version.startsWith("2.16."))) { - filter { - excludeTestsMatching "org.opensearch.knn.bwc.ModelIT.testNonKNNIndex_withModelId" - excludeTestsMatching "org.opensearch.knn.bwc.PainlessScriptScoringIT.testNonKNNIndex_withMethodParams_withFaissEngine" - excludeTestsMatching "org.opensearch.knn.bwc.PainlessScriptScoringIT.testNonKNNIndex_withMethodParams_withNmslibEngine" - excludeTestsMatching "org.opensearch.knn.bwc.PainlessScriptScoringIT.testNonKNNIndex_withMethodParams_withLuceneEngine" - excludeTestsMatching "org.opensearch.knn.bwc.ScriptScoringIT.testNonKNNIndex_withMethodParams_withFaissEngine" - excludeTestsMatching "org.opensearch.knn.bwc.ScriptScoringIT.testNonKNNIndex_withMethodParams_withNmslibEngine" - excludeTestsMatching "org.opensearch.knn.bwc.ScriptScoringIT.testNonKNNIndex_withMethodParams_withLuceneEngine" - } - } - - nonInputProperties.systemProperty('tests.rest.cluster', "${-> testClusters."${baseName}".allHttpSocketURI.join(",")}") - nonInputProperties.systemProperty('tests.clustername', "${-> testClusters."${baseName}".getName()}") - systemProperty 'tests.security.manager', 'false' +task testAgainstOldCluster(type: StandaloneRestIntegTestTask) { + dependsOn "zipBwcPlugin" + useCluster testClusters."${baseName}" + systemProperty 'tests.rest.bwcsuite_cluster', 'old_cluster' + systemProperty 'tests.is_old_cluster', 'true' + systemProperty 'tests.skip_delete_model_index', 'true' + systemProperty 'tests.plugin_bwc_version', knn_bwc_version + + // Skip test if version is 1.0 or 1.1 as they are not supported in those versions + if (knn_bwc_version.startsWith("1.0") || knn_bwc_version.startsWith("1.1")) { + filter { + excludeTestsMatching "org.opensearch.knn.bwc.ModelIT" + excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testKNNIndexCustomMethodFieldMapping" + excludeTestsMatching "org.opensearch.knn.bwc.WarmupIT.testKNNWarmupCustomMethodFieldMapping" + } + } + + // Skip test if version is 1.2 or 1.3 as they are not supported in those versions + if (knn_bwc_version.startsWith("1.2") || knn_bwc_version.startsWith("1.3")) { + filter { + excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testNullParametersOnUpgrade" + } + } + + // Skip test if version is 1.0, 1.1, 1.2 or 1.3 as they are not supported in those versions + if (knn_bwc_version.startsWith("1.") || knn_bwc_version.startsWith("2.")) { + filter { + excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testEmptyParametersOnUpgrade" + } + } + + if (knn_bwc_version.startsWith("1.") || + knn_bwc_version.startsWith("2.0.") || + knn_bwc_version.startsWith("2.1.") || + knn_bwc_version.startsWith("2.2.") || + knn_bwc_version.startsWith("2.3.") || + knn_bwc_version.startsWith("2.4") || + knn_bwc_version.startsWith("2.5.") || + knn_bwc_version.startsWith("2.6.") || + knn_bwc_version.startsWith("2.7.") || + knn_bwc_version.startsWith("2.8.")) { + filter { + excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testKNNIndexLuceneByteVector" + } + } + if (knn_bwc_version.startsWith("1.") || + knn_bwc_version.startsWith("2.0.") || + knn_bwc_version.startsWith("2.1.") || + knn_bwc_version.startsWith("2.2.") || + knn_bwc_version.startsWith("2.3.") || + knn_bwc_version.startsWith("2.4") || + knn_bwc_version.startsWith("2.5.") || + knn_bwc_version.startsWith("2.6.") || + knn_bwc_version.startsWith("2.7.") || + knn_bwc_version.startsWith("2.8.") || + knn_bwc_version.startsWith("2.9.") || + knn_bwc_version.startsWith("2.10.") || + knn_bwc_version.startsWith("2.11.") || + knn_bwc_version.startsWith("2.12.") || + knn_bwc_version.startsWith("2.13.") || + knn_bwc_version.startsWith("2.14.") || + knn_bwc_version.startsWith("2.15.")) { + filter { + excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testKNNIndexLuceneQuantization" + excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testKNNIndexBinaryForceMerge" + } + } + + // excludes: 1.any; 2.x where x < 17 + def validPrefixesForQFrameBitEncoderBWCChecks = ['1.'] + ((0..16).collect { "2.${it}." } as Collection) + if (validPrefixesForQFrameBitEncoderBWCChecks.any { knn_bwc_version.startsWith(it) } + ) { + filter { + excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testDiskBasedMergeBWC" + excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testRandomRotationBWC" + excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testADC_BWC" + } + } + + + if (versionsBelow2_3.any {knn_bwc_version.startsWith(it) }) { + filter { + excludeTestsMatching "org.opensearch.knn.bwc.QueryANNIT.testQueryOnLuceneIndex" + excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testKNNIndexLuceneForceMerge" + } + } + if (!(knn_bwc_version.startsWith("2.13.") || + knn_bwc_version.startsWith("2.14.") || + knn_bwc_version.startsWith("2.15.") || + knn_bwc_version.startsWith("2.16."))) { + filter { + excludeTestsMatching "org.opensearch.knn.bwc.ModelIT.testNonKNNIndex_withModelId" + excludeTestsMatching "org.opensearch.knn.bwc.PainlessScriptScoringIT.testNonKNNIndex_withMethodParams_withFaissEngine" + excludeTestsMatching "org.opensearch.knn.bwc.PainlessScriptScoringIT.testNonKNNIndex_withMethodParams_withNmslibEngine" + excludeTestsMatching "org.opensearch.knn.bwc.PainlessScriptScoringIT.testNonKNNIndex_withMethodParams_withLuceneEngine" + excludeTestsMatching "org.opensearch.knn.bwc.ScriptScoringIT.testNonKNNIndex_withMethodParams_withFaissEngine" + excludeTestsMatching "org.opensearch.knn.bwc.ScriptScoringIT.testNonKNNIndex_withMethodParams_withNmslibEngine" + excludeTestsMatching "org.opensearch.knn.bwc.ScriptScoringIT.testNonKNNIndex_withMethodParams_withLuceneEngine" + } + } + + if (knn_bwc_version.startsWith("1.") || + knn_bwc_version.startsWith("2.0.") || + knn_bwc_version.startsWith("2.1.") || + knn_bwc_version.startsWith("2.2.") || + knn_bwc_version.startsWith("2.3.") || + knn_bwc_version.startsWith("2.4") || + knn_bwc_version.startsWith("2.5.") || + knn_bwc_version.startsWith("2.6.") || + knn_bwc_version.startsWith("2.7.") || + knn_bwc_version.startsWith("2.8.") || + knn_bwc_version.startsWith("2.9.") || + knn_bwc_version.startsWith("2.10.") || + knn_bwc_version.startsWith("2.11.") || + knn_bwc_version.startsWith("2.12.") || + knn_bwc_version.startsWith("2.13.") || + knn_bwc_version.startsWith("2.14.") || + knn_bwc_version.startsWith("2.15.") || + knn_bwc_version.startsWith("2.16.") || + knn_bwc_version.startsWith("2.17.") || + knn_bwc_version.startsWith("2.18.") || + knn_bwc_version.startsWith("2.19.")) { + filter { + excludeTestsMatching "org.opensearch.knn.bwc.DerivedSourceBWCRestartIT" + } + } + + if (versionOnOrAfter2_17.any {knn_bwc_version.startsWith(it) }) { + filter { + excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testBlockModeAndCompressionBefore2_17_0" + } } + nonInputProperties.systemProperty('tests.rest.cluster', "${-> testClusters."${baseName}".allHttpSocketURI.join(",")}") + nonInputProperties.systemProperty('tests.clustername', "${-> testClusters."${baseName}".getName()}") + systemProperty 'tests.security.manager', 'false' +} + // All nodes are upgraded to latest version and run the tests - task testRestartUpgrade(type: StandaloneRestIntegTestTask) { - dependsOn "testAgainstOldCluster" - dependsOn rootProject.tasks.assemble - useCluster testClusters."${baseName}" - doFirst { - testClusters."${baseName}".upgradeAllNodesAndPluginsToNextVersion([rootProject.tasks.bundlePlugin.archiveFile]) - } - systemProperty 'tests.rest.bwcsuite_cluster', 'upgraded_cluster' - systemProperty 'tests.skip_delete_model_index', 'true' - systemProperty 'tests.is_old_cluster', 'false' - systemProperty 'tests.plugin_bwc_version', knn_bwc_version - - // Skip test if version is 1.0 or 1.1 as they are not supported in those versions - if (knn_bwc_version.startsWith("1.0") || knn_bwc_version.startsWith("1.1")) { - filter { - excludeTestsMatching "org.opensearch.knn.bwc.ModelIT" - excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testKNNIndexCustomMethodFieldMapping" - excludeTestsMatching "org.opensearch.knn.bwc.WarmupIT.testKNNWarmupCustomMethodFieldMapping" - } - } - - // Skip test if version is 1.2 or 1.3 as they are not supported in those versions - if (knn_bwc_version.startsWith("1.2") || knn_bwc_version.startsWith("1.3")) { - filter { - excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testNullParametersOnUpgrade" - } - } - - // Skip test if version is 1.0, 1.1, 1.2 or 1.3 as they are not supported in those versions - if (knn_bwc_version.startsWith("1.") || knn_bwc_version.startsWith("2.")) { - filter { - excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testEmptyParametersOnUpgrade" - } - } - - if (knn_bwc_version.startsWith("1.") || - knn_bwc_version.startsWith("2.0.") || - knn_bwc_version.startsWith("2.1.") || - knn_bwc_version.startsWith("2.2.") || - knn_bwc_version.startsWith("2.3.") || - knn_bwc_version.startsWith("2.4") || - knn_bwc_version.startsWith("2.5.") || - knn_bwc_version.startsWith("2.6.") || - knn_bwc_version.startsWith("2.7.") || - knn_bwc_version.startsWith("2.8.")) { - filter { - excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testKNNIndexLuceneByteVector" - } - } - if (knn_bwc_version.startsWith("1.") || - knn_bwc_version.startsWith("2.0.") || - knn_bwc_version.startsWith("2.1.") || - knn_bwc_version.startsWith("2.2.") || - knn_bwc_version.startsWith("2.3.") || - knn_bwc_version.startsWith("2.4") || - knn_bwc_version.startsWith("2.5.") || - knn_bwc_version.startsWith("2.6.") || - knn_bwc_version.startsWith("2.7.") || - knn_bwc_version.startsWith("2.8.") || - knn_bwc_version.startsWith("2.9.") || - knn_bwc_version.startsWith("2.10.") || - knn_bwc_version.startsWith("2.11.") || - knn_bwc_version.startsWith("2.12.") || - knn_bwc_version.startsWith("2.13.") || - knn_bwc_version.startsWith("2.14.") || - knn_bwc_version.startsWith("2.15.")) { - filter { - excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testKNNIndexLuceneQuantization" - excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testKNNIndexBinaryForceMerge" - } - } - - if (versionsBelow2_3.any {knn_bwc_version.startsWith(it) }) { - filter { - excludeTestsMatching "org.opensearch.knn.bwc.QueryANNIT.testQueryOnLuceneIndex" - excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testKNNIndexLuceneForceMerge" - } - } - - if (!(knn_bwc_version.startsWith("2.13.") || - knn_bwc_version.startsWith("2.14.") || - knn_bwc_version.startsWith("2.15.") || - knn_bwc_version.startsWith("2.16."))) { - filter { - excludeTestsMatching "org.opensearch.knn.bwc.ModelIT.testNonKNNIndex_withModelId" - excludeTestsMatching "org.opensearch.knn.bwc.PainlessScriptScoringIT.testNonKNNIndex_withMethodParams_withFaissEngine" - excludeTestsMatching "org.opensearch.knn.bwc.PainlessScriptScoringIT.testNonKNNIndex_withMethodParams_withNmslibEngine" - excludeTestsMatching "org.opensearch.knn.bwc.PainlessScriptScoringIT.testNonKNNIndex_withMethodParams_withLuceneEngine" - excludeTestsMatching "org.opensearch.knn.bwc.ScriptScoringIT.testNonKNNIndex_withMethodParams_withFaissEngine" - excludeTestsMatching "org.opensearch.knn.bwc.ScriptScoringIT.testNonKNNIndex_withMethodParams_withNmslibEngine" - excludeTestsMatching "org.opensearch.knn.bwc.ScriptScoringIT.testNonKNNIndex_withMethodParams_withLuceneEngine" - } - } - - nonInputProperties.systemProperty('tests.rest.cluster', "${-> testClusters."${baseName}".allHttpSocketURI.join(",")}") - nonInputProperties.systemProperty('tests.clustername', "${-> testClusters."${baseName}".getName()}") - systemProperty 'tests.security.manager', 'false' +task testRestartUpgrade(type: StandaloneRestIntegTestTask) { + dependsOn "testAgainstOldCluster" + dependsOn rootProject.tasks.assemble + useCluster testClusters."${baseName}" + doFirst { + testClusters."${baseName}".upgradeAllNodesAndPluginsToNextVersion([rootProject.tasks.bundlePlugin.archiveFile]) + } + // Disable cgroup detection. When initializing MBean in Log4J, if container was detected it will try to get + // `jdk.internal.platform.CgroupInfo.getMountPoint()` for the mount point which causes NPE for now. + // So, disabling this cgroup detection for CI. + testClusters."${baseName}".nodes.forEach { node -> + node.jvmArgs("-XX:-UseContainerSupport -Djdk.disableLinuxContainerSupport=true") } + systemProperty 'tests.rest.bwcsuite_cluster', 'upgraded_cluster' + systemProperty 'tests.skip_delete_model_index', 'true' + systemProperty 'tests.is_old_cluster', 'false' + systemProperty 'tests.plugin_bwc_version', knn_bwc_version + + // Skip test if version is 1.0 or 1.1 as they are not supported in those versions + if (knn_bwc_version.startsWith("1.0") || knn_bwc_version.startsWith("1.1")) { + filter { + excludeTestsMatching "org.opensearch.knn.bwc.ModelIT" + excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testKNNIndexCustomMethodFieldMapping" + excludeTestsMatching "org.opensearch.knn.bwc.WarmupIT.testKNNWarmupCustomMethodFieldMapping" + } + } + + // Skip test if version is 1.2 or 1.3 as they are not supported in those versions + if (knn_bwc_version.startsWith("1.2") || knn_bwc_version.startsWith("1.3")) { + filter { + excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testNullParametersOnUpgrade" + } + } + + // Skip test if version is 1.0, 1.1, 1.2 or 1.3 as they are not supported in those versions + if (knn_bwc_version.startsWith("1.") || knn_bwc_version.startsWith("2.")) { + filter { + excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testEmptyParametersOnUpgrade" + } + } + + if (knn_bwc_version.startsWith("1.") || + knn_bwc_version.startsWith("2.0.") || + knn_bwc_version.startsWith("2.1.") || + knn_bwc_version.startsWith("2.2.") || + knn_bwc_version.startsWith("2.3.") || + knn_bwc_version.startsWith("2.4") || + knn_bwc_version.startsWith("2.5.") || + knn_bwc_version.startsWith("2.6.") || + knn_bwc_version.startsWith("2.7.") || + knn_bwc_version.startsWith("2.8.")) { + filter { + excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testKNNIndexLuceneByteVector" + } + } + if (knn_bwc_version.startsWith("1.") || + knn_bwc_version.startsWith("2.0.") || + knn_bwc_version.startsWith("2.1.") || + knn_bwc_version.startsWith("2.2.") || + knn_bwc_version.startsWith("2.3.") || + knn_bwc_version.startsWith("2.4") || + knn_bwc_version.startsWith("2.5.") || + knn_bwc_version.startsWith("2.6.") || + knn_bwc_version.startsWith("2.7.") || + knn_bwc_version.startsWith("2.8.") || + knn_bwc_version.startsWith("2.9.") || + knn_bwc_version.startsWith("2.10.") || + knn_bwc_version.startsWith("2.11.") || + knn_bwc_version.startsWith("2.12.") || + knn_bwc_version.startsWith("2.13.") || + knn_bwc_version.startsWith("2.14.") || + knn_bwc_version.startsWith("2.15.")) { + filter { + excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testKNNIndexLuceneQuantization" + excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testKNNIndexBinaryForceMerge" + } + } + + def validPrefixesForQFrameBitEncoderBWCChecks = ['1.'] + ((0..16).collect { "2.${it}." } as Collection) + if (validPrefixesForQFrameBitEncoderBWCChecks.any { knn_bwc_version.startsWith(it) }) { + filter { + excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testDiskBasedMergeBWC" + excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testRandomRotationBWC" + excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testADC_BWC" + } + } + + if (versionsBelow2_3.any {knn_bwc_version.startsWith(it) }) { + filter { + excludeTestsMatching "org.opensearch.knn.bwc.QueryANNIT.testQueryOnLuceneIndex" + excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testKNNIndexLuceneForceMerge" + } + } + + if (!(knn_bwc_version.startsWith("2.13.") || + knn_bwc_version.startsWith("2.14.") || + knn_bwc_version.startsWith("2.15.") || + knn_bwc_version.startsWith("2.16."))) { + filter { + excludeTestsMatching "org.opensearch.knn.bwc.ModelIT.testNonKNNIndex_withModelId" + excludeTestsMatching "org.opensearch.knn.bwc.PainlessScriptScoringIT.testNonKNNIndex_withMethodParams_withFaissEngine" + excludeTestsMatching "org.opensearch.knn.bwc.PainlessScriptScoringIT.testNonKNNIndex_withMethodParams_withNmslibEngine" + excludeTestsMatching "org.opensearch.knn.bwc.PainlessScriptScoringIT.testNonKNNIndex_withMethodParams_withLuceneEngine" + excludeTestsMatching "org.opensearch.knn.bwc.ScriptScoringIT.testNonKNNIndex_withMethodParams_withFaissEngine" + excludeTestsMatching "org.opensearch.knn.bwc.ScriptScoringIT.testNonKNNIndex_withMethodParams_withNmslibEngine" + excludeTestsMatching "org.opensearch.knn.bwc.ScriptScoringIT.testNonKNNIndex_withMethodParams_withLuceneEngine" + } + } + + if (knn_bwc_version.startsWith("1.") || + knn_bwc_version.startsWith("2.0.") || + knn_bwc_version.startsWith("2.1.") || + knn_bwc_version.startsWith("2.2.") || + knn_bwc_version.startsWith("2.3.") || + knn_bwc_version.startsWith("2.4") || + knn_bwc_version.startsWith("2.5.") || + knn_bwc_version.startsWith("2.6.") || + knn_bwc_version.startsWith("2.7.") || + knn_bwc_version.startsWith("2.8.") || + knn_bwc_version.startsWith("2.9.") || + knn_bwc_version.startsWith("2.10.") || + knn_bwc_version.startsWith("2.11.") || + knn_bwc_version.startsWith("2.12.") || + knn_bwc_version.startsWith("2.13.") || + knn_bwc_version.startsWith("2.14.") || + knn_bwc_version.startsWith("2.15.") || + knn_bwc_version.startsWith("2.16.") || + knn_bwc_version.startsWith("2.17.") || + knn_bwc_version.startsWith("2.18.") || + knn_bwc_version.startsWith("2.19.")) { + filter { + excludeTestsMatching "org.opensearch.knn.bwc.DerivedSourceBWCRestartIT" + } + } + + if (versionOnOrAfter2_17.any {knn_bwc_version.startsWith(it) }) { + filter { + excludeTestsMatching "org.opensearch.knn.bwc.IndexingIT.testBlockModeAndCompressionBefore2_17_0" + } + } + + nonInputProperties.systemProperty('tests.rest.cluster', "${-> testClusters."${baseName}".allHttpSocketURI.join(",")}") + nonInputProperties.systemProperty('tests.clustername', "${-> testClusters."${baseName}".getName()}") + systemProperty 'tests.security.manager', 'false' +} diff --git a/qa/rolling-upgrade/build.gradle b/qa/rolling-upgrade/build.gradle index 0f7a9916..11fede05 100644 --- a/qa/rolling-upgrade/build.gradle +++ b/qa/rolling-upgrade/build.gradle @@ -91,4 +91,3 @@ task testRollingUpgrade(type: StandaloneRestIntegTestTask) { nonInputProperties.systemProperty('tests.clustername', "${-> testClusters."${baseName}".getName()}") systemProperty 'tests.security.manager', 'false' } -