docker-client
docker-client copied to clipboard
Container and ContainerConfig fields in Image inspect removed
Is this a BUG REPORT or FEATURE REQUEST?: Yes
(thank you for merging and updating my previous RP!)
Description
In Docker v1.26 two fields were removed from the ImageInfo field, see: https://docs.docker.com/engine/deprecated/#container-and-containerconfig-fields-in-image-inspect
I think we can again add @Nullable, but I'm not sure whether a fallback is possible, therefore I'm opening this issue instead of opening a PR.
How to reproduce
- use Docker v1.26
- inspect an image
What do you expect
It works.
What happened instead
An exception is thrown, see below.
Software:
docker version:26.0.0- Spotify's docker-client version: master
Full backtrace
Caused by: jakarta.ws.rs.client.ResponseProcessingException: com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of `org.mandas.docker.client.messages.ImmutableImageInfo$Builder`, problem: Cannot build ImageInfo, some of required attributes are not set [container, containerConfig]
at [Source: (org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$UnCloseableInputStream); line: 1, column: 3958]
at org.glassfish.jersey.client.JerseyInvocation.translate(JerseyInvocation.java:745) ~[jersey-client-3.1.5.jar:na]
at org.glassfish.jersey.client.JerseyInvocation.lambda$invoke$1(JerseyInvocation.java:675) ~[jersey-client-3.1.5.jar:na]
at org.glassfish.jersey.client.JerseyInvocation.call(JerseyInvocation.java:697) ~[jersey-client-3.1.5.jar:na]
at org.glassfish.jersey.client.JerseyInvocation.lambda$runInScope$3(JerseyInvocation.java:691) ~[jersey-client-3.1.5.jar:na]
at org.glassfish.jersey.internal.Errors.process(Errors.java:292) ~[jersey-common-3.1.5.jar:na]
at org.glassfish.jersey.internal.Errors.process(Errors.java:274) ~[jersey-common-3.1.5.jar:na]
at org.glassfish.jersey.internal.Errors.process(Errors.java:205) ~[jersey-common-3.1.5.jar:na]
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:390) ~[jersey-common-3.1.5.jar:na]
at org.glassfish.jersey.client.JerseyInvocation.runInScope(JerseyInvocation.java:691) ~[jersey-client-3.1.5.jar:na]
at org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:674) ~[jersey-client-3.1.5.jar:na]
at org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:422) ~[jersey-client-3.1.5.jar:na]
at org.mandas.docker.client.DefaultDockerClient.request(DefaultDockerClient.java:2434) ~[docker-client-7.0.8-OA-1.jar:na]
... 14 common frames omitted
Caused by: com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of `org.mandas.docker.client.messages.ImmutableImageInfo$Builder`, problem: Cannot build ImageInfo, some of required attributes are not set [container, containerConfig]
at [Source: (org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$UnCloseableInputStream); line: 1, column: 3958]
at com.fasterxml.jackson.databind.exc.ValueInstantiationException.from(ValueInstantiationException.java:47) ~[jackson-databind-2.15.3.jar:2.15.3]
at com.fasterxml.jackson.databind.DeserializationContext.instantiationException(DeserializationContext.java:2058) ~[jackson-databind-2.15.3.jar:2.15.3]
at com.fasterxml.jackson.databind.DeserializationContext.handleInstantiationProblem(DeserializationContext.java:1411) ~[jackson-databind-2.15.3.jar:2.15.3]
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.wrapInstantiationProblem(BeanDeserializerBase.java:1898) ~[jackson-databind-2.15.3.jar:2.15.3]
at com.fasterxml.jackson.databind.deser.BuilderBasedDeserializer.finishBuild(BuilderBasedDeserializer.java:202) ~[jackson-databind-2.15.3.jar:2.15.3]
at com.fasterxml.jackson.databind.deser.BuilderBasedDeserializer.deserialize(BuilderBasedDeserializer.java:217) ~[jackson-databind-2.15.3.jar:2.15.3]
at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:323) ~[jackson-databind-2.15.3.jar:2.15.3]
at com.fasterxml.jackson.databind.ObjectReader._bind(ObjectReader.java:2079) ~[jackson-databind-2.15.3.jar:2.15.3]
at com.fasterxml.jackson.databind.ObjectReader.readValue(ObjectReader.java:1229) ~[jackson-databind-2.15.3.jar:2.15.3]
at org.glassfish.jersey.jackson.internal.jackson.jaxrs.base.ProviderBase.readFrom(ProviderBase.java:829) ~[jersey-media-json-jackson-3.1.5.jar:na]
at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptor.invokeReadFrom(ReaderInterceptorExecutor.java:233) ~[jersey-common-3.1.5.jar:na]
at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptor.aroundReadFrom(ReaderInterceptorExecutor.java:212) ~[jersey-common-3.1.5.jar:na]
at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor.proceed(ReaderInterceptorExecutor.java:132) ~[jersey-common-3.1.5.jar:na]
at org.glassfish.jersey.message.internal.MessageBodyFactory.readFrom(MessageBodyFactory.java:1072) ~[jersey-common-3.1.5.jar:na]
at org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:919) ~[jersey-common-3.1.5.jar:na]
at org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:853) ~[jersey-common-3.1.5.jar:na]
at org.glassfish.jersey.client.ClientResponse.readEntity(ClientResponse.java:298) ~[jersey-client-3.1.5.jar:na]
at org.glassfish.jersey.client.JerseyInvocation.translate(JerseyInvocation.java:742) ~[jersey-client-3.1.5.jar:na]
... 25 common frames omitted
Caused by: java.lang.IllegalStateException: Cannot build ImageInfo, some of required attributes are not set [container, containerConfig]
at org.mandas.docker.client.messages.ImmutableImageInfo$Builder.build(ImmutableImageInfo.java:942) ~[docker-client-7.0.8-OA-1.jar:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
at com.fasterxml.jackson.databind.deser.BuilderBasedDeserializer.finishBuild(BuilderBasedDeserializer.java:200) ~[jackson-databind-2.15.3.jar:2.15.3]
... 38 common frames omitted
Hi @LEDfan,
(happy to accept contributions)
The error you are describing is not happening in the master branch where the proper nullables have been added. The only problem is that they are not part of a release yet given that this is considered a breaking change (for this library).
Hi @dmandalidis , thank you for your reply! Indeed it is working on the master branch, I thought I pulled the latest changes, but must have a mistake. Thanks!