Conversation
The marker was added to the -nodeps include list but not the -deps prune list, so it leaked into both bundles. Elasticsearch's ml plugin unzips -deps and -nodeps together, so Gradle's Copy fails with a duplicate controller-protocol.version entry. Prune it from -deps so it ships only in -nodeps, where the verifyControllerProtocolVersion gate expects it.
|
Pinging @elastic/ml-core (Team:ML) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Follow-up fix to #3224. That PR added the
controller-protocol.versionmarker to the-nodepsbundle's include list increate_dra.sh, but did not add it to the-depsbundle's prune list. Because the-depszip is built as "everything not pruned", the marker leaked into both the-depsand-nodepsbundles.Elasticsearch's ml plugin resolves both bundles and unzips them together into a single plugin bundle:
With the marker now present at the root of both zips, Gradle's Copy task hits a duplicate path and fails (there is no
duplicatesStrategyset):This breaks Elasticsearch's
:x-pack:plugin:ml:explodedBundlePlugin/bundlePlugin(and every downstream task that depends on them — bundle, release-tests, bwc-snapshots) onmainand all open PRs once they resolve the post-#3224 snapshot.Change
Add
-path "**/controller-protocol.version"to the-depsbundle's-prunelist so the marker ships only in-nodeps(whereverifyControllerProtocolVersionexpects it), and not in-deps. The marker is not a 3rd-party dependency, so it does not belong in the deps bundle regardless.Testing
-nodepsbundle still containscontroller-protocol.version(unchanged include list).-depsbundle no longer contains it (now pruned), so the Elasticsearch bundle merge sees a single entry.