I'm facing this error https://github.com/square/okhttp/issues/5818
And realize I have 2 okhttp versions
One from quarkus-universe-bom (version 3.x.x)
One from org.web3j (version 4.x.x=)
There are breaking change between that versions
Have you plan to upgrade okhttp ?
also the same for web3j
from quarkus-universe-bom (version 3.6.0)
lastest org.web3j (version 4.7.0)
Can you update web3j version ?
That make I cannot use Quarkus because bom contains very old web3 version
@vsevel IIRC okhttp is used by Vault? Any chance we could upgrade there?
@mmaryo you can simply override the dependency version in your local project.
IIRC okhttp is used by Vault? Any chance we could upgrade there?
yes. sure.
it is being used by the kubernetes client extension as well. it has a dependency on an even older version 3.12.12
so I can make a quick try, but I have no idea if the k8s client will support it beside vault.
may be @gastaldi would know.
I used okhttp client 4.9.0
vault is ok, but I have some errors with the kubernetes client:
Caused by: java.lang.NoSuchMethodError: okhttp3.internal.Internal.initializeInstanceForTests()V
at okhttp3.mockwebserver.MockWebServer.<clinit>(MockWebServer.java:103)
at io.fabric8.kubernetes.client.server.mock.KubernetesMockServer.<init>(KubernetesMockServer.java:49)
at io.quarkus.test.kubernetes.client.KubernetesMockServerTestResource.createMockServer(KubernetesMockServerTestResource.java:37)
at io.quarkus.test.kubernetes.client.KubernetesMockServerTestResource.start(KubernetesMockServerTestResource.java:25)
at io.quarkus.test.common.TestResourceManager.start(TestResourceManager.java:52)
we would need an update in the fabric8 project first before we change the version in the bom.
I can have a look, but I am not so confident that would happen soon (/cc @iocanel @geoand).
Any chance to have https://github.com/quarkusio/quarkus/issues/4162 fixed soon?
Well, moving Vault away from Okhttp won't change a thing if the Kubernetes client uses it: it will still be in the bom.
So we will definitely need an upgrade to the Kubernetes Client.
BTW, I was pleasantly surprised by okhttp, it works perfectly in native without any changes.
Yeah, OkHTTP is great
I love OkHTTP, the only sad thing is that their latest version is written in Kotlin and that requires the Kotlin runtime to run, making the dist bigger
when I initially worked on vault I started with the apache httpclient, but I endep up choosing okhttp client because that's what the kubernetes client was doing already, so at least I was not bringing in another lib.
and the way I had to approach the config source did not allow me to use the rest client as explained here https://github.com/quarkusio/quarkus/issues/4162.
but with progress on https://github.com/quarkusio/quarkus/pull/13498, may be switching to the quarkus rest client, or another quarkus option (i.e. Vert.x/Mutiny, such as this attempt https://github.com/quarkusio/quarkus/pull/8885) might be attainable.
the java 11 HTTP Client API might be an option as well if support for java 8 could be dropped.