kubernetes-client
kubernetes-client copied to clipboard
chore(deps): bump org.apache.commons:commons-compress from 1.25.0 to 1.26.0
Bumps org.apache.commons:commons-compress from 1.25.0 to 1.26.0.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Error: Errors:
Error: UploadTest$Success$Directory.createsTempDirectoryAndPipesDirInServer:346 » KubernetesClient TarArchiveOutputStream is provided by commons-compress, an optional dependency. To use this functionality you must explicitly add this dependency to the classpath.
Error: UploadTest$Success$Directory.extractsTar:378 » KubernetesClient TarArchiveOutputStream is provided by commons-compress, an optional dependency. To use this functionality you must explicitly add this dependency to the classpath.
Error: UploadTest$Success$Directory.uploadReturnsTrue:336 » KubernetesClient TarArchiveOutputStream is provided by commons-compress, an optional dependency. To use this functionality you must explicitly add this dependency to the classpath.
Error: UploadTest$Success$Directory.verifiesUploadedTarSize:362 » KubernetesClient TarArchiveOutputStream is provided by commons-compress, an optional dependency. To use this functionality you must explicitly add this dependency to the classpath.
Error: UploadTest$Success$SingleFile$TarCompression.bigNumbersSupported:306 » KubernetesClient TarArchiveOutputStream is provided by commons-compress, an optional dependency. To use this functionality you must explicitly add this dependency to the classpath.
Error: UploadTest$Success$SingleFile$TarCompression.longFileNamesSupported:288 » KubernetesClient TarArchiveOutputStream is provided by commons-compress, an optional dependency. To use this functionality you must explicitly add this dependency to the classpath.
Error: UploadTest$Success$SingleFile$TarCompression.validTarArchive:268 » KubernetesClient TarArchiveOutputStream is provided by commons-compress, an optional dependency. To use this functionality you must explicitly add this dependency to the classpath.
Error: UploadTest$Success$SingleFile.createsTempDirectoryAndPipesFileInServer:208 » KubernetesClient TarArchiveOutputStream is provided by commons-compress, an optional dependency. To use this functionality you must explicitly add this dependency to the classpath.
Error: UploadTest$Success$SingleFile.extractsTar:240 » KubernetesClient TarArchiveOutputStream is provided by commons-compress, an optional dependency. To use this functionality you must explicitly add this dependency to the classpath.
Error: UploadTest$Success$SingleFile.uploadReturnsTrue:198 » KubernetesClient TarArchiveOutputStream is provided by commons-compress, an optional dependency. To use this functionality you must explicitly add this dependency to the classpath.
Error: UploadTest$Success$SingleFile.verifiesUploadedTarSize:224 » KubernetesClient TarArchiveOutputStream is provided by commons-compress, an optional dependency. To use this functionality you must explicitly add this dependency to the classpath.
Error: UploadTest.uploadFailureDeletesTemp:130 » KubernetesClient TarArchiveOutputStream is provided by commons-compress, an optional dependency. To use this functionality you must explicitly add this dependency to the classpath.
[INFO]
Error: Tests run: 240, Failures: 0, Errors: 12, Skipped: 0
This is important for CVE reasons
This is important for CVE reasons
Yes, we have on our Sprint planning as priority.
Anyway, the dependency is provided, users are responsible to update whatever commons-compress their project is using. We need to figure out why tests are failing though.
Seems like it's the change that's causing the issue: https://github.com/apache/commons-compress/commit/7d4beb1940af7756ab184eac94bbaf14287e1779
One thing that is fishy is that the error concerns a class that is not used in TarArchiveOutputStream anymore (the class that's used is supposed to be org.apache.commons.io.Charsets (provided by commons-io, which is not included as a dependency for the module, so I guess that's the issue here), not org.apache.commons.codec.Charsets) so I'm not sure why it's looking for that last class…
For that matter, there is also a Charsets class in org.apache.commons.compress.utils…
Actually, 1.26 is using the commons-codec version of Charsets 🤦🏼 but that was changed in https://github.com/apache/commons-compress/commit/2d1b94ff3f3d8c6c5bb25b5be0d4c8e0fdd73a4b
Seems like adding the commons-codec optional dependency also addresses the native compilation issues.
Seems like it's the change that's causing the issue: https://github.com/apache/commons-compress/commit/7d4beb1940af7756ab184eac94bbaf14287e1779
On its own, this doesn't seem to be a problem, all changes seem to be internal.
Seems like adding the commons-codec optional dependency also addresses the native compilation issues.
OK, this is what makes sense now. commons-codec is now mandatory too when using commons-compress. Why didn't they make it transitive though? :shrug:
I'll try to fix this in this PR.
This is a shame because we already did an effort some time ago to remove the commons-codec dependency (#3672 / #3682)
Related:
- https://issues.apache.org/jira/browse/COMPRESS-659 (TarArchiveOutputStream issue, which affects us)
- https://issues.apache.org/jira/browse/COMPRESS-660
- https://github.com/apache/commons-compress/blob/09a271dfd73e3ce01815f3f65057f92b5b7009bb/pom.xml#L134
As discussed in https://issues.apache.org/jira/browse/COMPRESS-659 a fix was already provided and a commons-compress 1.26.1 will be released soon. We should probably wait for this release instead of merging the current fix.
Quality Gate passed
Issues
0 New issues
Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code
The change made in https://issues.apache.org/jira/browse/COMPRESS-659 will make commons-compress dependent on commons-io, though, so we might need some equivalent fix here as well to add a commons-io dependency.
commons-io is transitive to commons-compress, there shouldn't be a problem :crossed_fingers:
I've built 1.26.1-SNAPSHOT locally and confirmed that simply upgrading to it without other changes seems to address the native compilation issue I was seeing.
I've built 1.26.1-SNAPSHOT locally and confirmed that simply upgrading to it without other changes seems to address the native compilation issue I was seeing.
Let's wait for it then
A newer version of org.apache.commons:commons-compress exists, but since this PR has been edited by someone other than Dependabot I haven't updated it. You'll get a PR for the updated version as normal once this PR is merged.
A newer version of org.apache.commons:commons-compress exists, but since this PR has been edited by someone other than Dependabot I haven't updated it. You'll get a PR for the updated version as normal once this PR is merged.
Closing in favor of the newer version which should be addressed by https://issues.apache.org/jira/browse/COMPRESS-659
OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.
If you change your mind, just re-open this PR and I'll resolve any conflicts on it.