[Fix][Connector-OBS] Upgrade okio to 3.6.0 to fix NoSuchFieldError: Companion#10756
Open
hyboll wants to merge 1 commit intoapache:devfrom
Open
[Fix][Connector-OBS] Upgrade okio to 3.6.0 to fix NoSuchFieldError: Companion#10756hyboll wants to merge 1 commit intoapache:devfrom
hyboll wants to merge 1 commit intoapache:devfrom
Conversation
DanielLeens
reviewed
Apr 13, 2026
DanielLeens
left a comment
There was a problem hiding this comment.
I pulled the current HEAD locally and checked both the dependency delta and the OBS runtime entry path.
Runtime chain:
ObsFileSource.prepare() / ObsFileSink.prepare()
-> ObsConf.buildWithConfig(...)
-> OBS SDK bootstrap
-> OkHttpClient.Builder()
What this PR changes:
- it pins
com.squareup.okio:okio:3.6.0in the OBS connector module - it adds a regression test at the exact crash site (
OkHttpClient.Builder().build())
I do not see a code-path blocker in the current diff.
The remaining blocker is CI: current Build is red, and the failed job is Run / connector-file-sftp-it (11, ubuntu-latest) in the fork workflow run 24340656795. From the module boundary this looks unrelated to the OBS pom/test change, but it still needs to be rerun or cleared before merge.
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.
Purpose of this pull request
Fix a
NoSuchFieldError: Companioncrash that occurs when initializingOBSFileSystemin the SeaTunnel Zeta engine.Root cause:
okhttp 4.12.0requiresokio 3.x,butokiois not explicitly declared in the module'spom.xml. Without an explicit version, Maven's dependency mediation falls back to the version declared byesdk-obs-java 3.19.7.3, which referencesokio 1.14.0.Does this PR introduce any user-facing change?
No
How was this patch tested?
Added unit test
ObsOkHttpClientCreationTestinconnector-file-obs:new OkHttpClient.Builder(), which triggersokhttp3.internal.Util.<clinit>— the exact crash site from the production stack trace. This test fails withNoSuchFieldError: Companionwhenokio 1.14.0fromesdk-obs-javamediation is on the classpath (becauseokhttp3 4.12.0is binary-incompatible with theCompanionfield layout ofokio 1.x), and passes afterokio 3.6.0is explicitly pinned. No real OBS credentials or network access are required.Check list
New License Guide
incompatible-changes.mdto describe the incompatibility caused by this PR.