Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 60 path $.status #3177

Open
crazychengmm opened this issue Mar 9, 2024 · 4 comments

Comments

@crazychengmm
Copy link

Describe the bug
I attempted to delete a Service using the Kubernetes Java client, and while the Service was indeed removed, an exception was thrown during the operation.
03/08 17:51:58 [] ERROR [pool-1-thread-2] c.c.d.c.e.b.s.impl.DeployServiceImpl - delete service failed:
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 60 path $.status
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:397)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.readIntoField(ReflectiveTypeAdapterFactory.java:212)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(ReflectiveTypeAdapterFactory.java:433)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:393)
at com.google.gson.Gson.fromJson(Gson.java:1227)
at com.google.gson.Gson.fromJson(Gson.java:1137)
at com.google.gson.Gson.fromJson(Gson.java:1047)
at com.google.gson.Gson.fromJson(Gson.java:1014)
at io.kubernetes.client.openapi.JSON.deserialize(JSON.java:168)
at io.kubernetes.client.openapi.ApiClient.deserialize(ApiClient.java:759)
at io.kubernetes.client.openapi.ApiClient.handleResponse(ApiClient.java:960)
at io.kubernetes.client.openapi.ApiClient.execute(ApiClient.java:885)
at io.kubernetes.client.openapi.apis.CoreV1Api.deleteNamespacedServiceWithHttpInfo(CoreV1Api.java:25938)
at io.kubernetes.client.openapi.apis.CoreV1Api.deleteNamespacedService(CoreV1Api.java:25868)

debug info:
03/08 17:55:51 [] INFO [pool-1-thread-3] okhttp3.OkHttpClient - --> DELETE https://10.90.2.73:6443/api/v1/namespaces/daily-dev/services/cone-page-test-s-349382382303973376
03/08 17:55:51 [] INFO [pool-1-thread-3] okhttp3.OkHttpClient - authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkJwVzB1RnMtLTNGdTIyaFhjaDRfRFNKaDcxdGZtazhKVTBqVlFnRlpJQmcifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJ0dmFuYS10b2tlbi1uemc4ZyIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJ0dmFuYSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6ImZmYzM3YzQwLTYyYzEtNDQ2YS04MGM3LWZkNWQ5N2I1NDM4NCIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlLXN5c3RlbTp0dmFuYSJ9.X6D9zIH1S447GmNOUdlpNJtwnEdew4qz-A4V_5e-QcnoPgcNajHNFNb6oDSB0duqwgm4hvc3vLnxWQVcmWHq_z6raNYyYZls24Ta_fEAtqILlq9GRF2JleIP8P4q2UXMVBYREr7KVDQJOq9QO_bYcdbbY51Bwd_IrRqgqHsCAfBScDgpH7aHHAyywjiP595hIjhrFX_wkWEq65tJRqLFmCVoqJB7f3jOP9nGavKERW2IsZBWIGpPMaJGgeT7O_wiDVlTLi4xmFuztKsfH7GxrjfLkvEtEiHa5cX6LyKCC3OEBDqArBN7W3X0HyJRpg4Jflyf6Iv8NL9kOIauLzo5Vw
03/08 17:55:51 [] INFO [pool-1-thread-3] okhttp3.OkHttpClient - Accept: application/json
03/08 17:55:51 [] INFO [pool-1-thread-3] okhttp3.OkHttpClient - User-Agent: Kubernetes Java Client/17.0.0-SNAPSHOT
03/08 17:55:51 [] INFO [pool-1-thread-3] okhttp3.OkHttpClient - --> END DELETE
03/08 17:55:51 [] INFO [pool-1-thread-3] okhttp3.OkHttpClient - <-- 200 https://10.90.2.73:6443/api/v1/namespaces/daily-dev/services/cone-page-test-s-349382382303973376 (312ms)
03/08 17:55:51 [] INFO [pool-1-thread-3] okhttp3.OkHttpClient - audit-id: c2538ec0-2f06-455c-929a-03541986e9b4
03/08 17:55:51 [] INFO [pool-1-thread-3] okhttp3.OkHttpClient - cache-control: no-cache, private
03/08 17:55:51 [] INFO [pool-1-thread-3] okhttp3.OkHttpClient - content-type: application/json
03/08 17:55:51 [] INFO [pool-1-thread-3] okhttp3.OkHttpClient - content-length: 189
03/08 17:55:51 [] INFO [pool-1-thread-3] okhttp3.OkHttpClient - date: Fri, 08 Mar 2024 09:55:52 GMT
03/08 17:55:51 [] INFO [pool-1-thread-3] okhttp3.OkHttpClient -
03/08 17:55:51 [] INFO [pool-1-thread-3] okhttp3.OkHttpClient - {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Success","details":{"name":"cone-page-test-s-349382382303973376","kind":"services","uid":"c4c88267-dbf8-443c-8a07-b09d8d8bd770"}}

Client Version
17.0.0

Kubernetes Version
1.19.3

Java Version
Java 8

To Reproduce
Steps to reproduce the behavior:

Expected behavior
A clear and concise description of what you expected to happen.

KubeConfig
If applicable, add a KubeConfig file with secrets redacted.

Server (please complete the following information):

  • OS: [e.g. Linux]
  • Environment [e.g. container]
  • Cloud [e.g. Azure]

Additional context
Add any other context about the problem here.

@crazychengmm
Copy link
Author

image image

gson
{serializeNulls:false,factories:[Factory[typeHierarchy=com.google.gson.JsonElement,adapter=com.google.gson.internal.bind.TypeAdapters$28@578415f3], com.google.gson.internal.bind.ObjectTypeAdapter$1@456d8ea4, com.google.gson.internal.Excluder@25a6752d, com.google.gson.internal.bind.TypeAdapters$30@74bb4367, com.google.gson.internal.bind.TypeAdapters$30@25588a46, com.google.gson.internal.bind.TypeAdapters$30@38fe33f6, com.google.gson.internal.bind.TypeAdapters$30@26b0b8af, com.google.gson.internal.bind.TypeAdapters$30@8be7765, io.gsonfire.gson.WrapTypeAdapterFactory@6955c68e, io.gsonfire.gson.SimpleIterableTypeAdapterFactory@20fd39d1, io.gsonfire.gson.HooksTypeAdapterFactory@3ab88a1, Factory[type=java.lang.String,adapter=com.google.gson.internal.bind.TypeAdapters$15@7d38a54c], Factory[type=java.lang.Integer+int,adapter=com.google.gson.internal.bind.TypeAdapters$7@e8b9036], Factory[type=java.lang.Boolean+boolean,adapter=com.google.gson.internal.bind.TypeAdapters$3@78b76d18], Factory[type=java.lang.Byte+byte,adapter=com.google.gson.internal.bind.TypeAdapters$5@2a031b94], Factory[type=java.lang.Short+short,adapter=com.google.gson.internal.bind.TypeAdapters$6@1229d95d], Factory[type=java.lang.Long+long,adapter=com.google.gson.internal.bind.TypeAdapters$11@4071e10e], Factory[type=java.lang.Double+double,adapter=com.google.gson.Gson$1@7855d2ee], Factory[type=java.lang.Float+float,adapter=com.google.gson.Gson$2@3f731adc], com.google.gson.internal.bind.NumberTypeAdapter$1@6d3f2bbb, Factory[type=java.util.concurrent.atomic.AtomicInteger,adapter=com.google.gson.TypeAdapter$1@2209ce83], Factory[type=java.util.concurrent.atomic.AtomicBoolean,adapter=com.google.gson.TypeAdapter$1@4d56d954], Factory[type=java.util.concurrent.atomic.AtomicLong,adapter=com.google.gson.TypeAdapter$1@76898f52], Factory[type=java.util.concurrent.atomic.AtomicLongArray,adapter=com.google.gson.TypeAdapter$1@2938efa2], Factory[type=java.util.concurrent.atomic.AtomicIntegerArray,adapter=com.google.gson.TypeAdapter$1@378d0dd], Factory[type=java.lang.Character+char,adapter=com.google.gson.internal.bind.TypeAdapters$14@781f359f], Factory[type=java.lang.StringBuilder,adapter=com.google.gson.internal.bind.TypeAdapters$19@7c467fca], Factory[type=java.lang.StringBuffer,adapter=com.google.gson.internal.bind.TypeAdapters$20@58b8e479], Factory[type=java.math.BigDecimal,adapter=com.google.gson.internal.bind.TypeAdapters$16@1d83398b], Factory[type=java.math.BigInteger,adapter=com.google.gson.internal.bind.TypeAdapters$17@1c314469], Factory[type=com.google.gson.internal.LazilyParsedNumber,adapter=com.google.gson.internal.bind.TypeAdapters$18@5346d00a], Factory[type=java.net.URL,adapter=com.google.gson.internal.bind.TypeAdapters$21@4cc27d37], Factory[type=java.net.URI,adapter=com.google.gson.internal.bind.TypeAdapters$22@48894a45], Factory[type=java.util.UUID,adapter=com.google.gson.internal.bind.TypeAdapters$24@5e0d4d31], Factory[type=java.util.Currency,adapter=com.google.gson.TypeAdapter$1@3b2e007a], Factory[type=java.util.Locale,adapter=com.google.gson.internal.bind.TypeAdapters$27@64daf9ed], Factory[typeHierarchy=java.net.InetAddress,adapter=com.google.gson.internal.bind.TypeAdapters$23@66834c51], Factory[type=java.util.BitSet,adapter=com.google.gson.TypeAdapter$1@52d3f175], com.google.gson.internal.bind.DateTypeAdapter$1@19351685, Factory[type=java.util.Calendar+java.util.GregorianCalendar,adapter=com.google.gson.internal.bind.TypeAdapters$26@2a9391df], com.google.gson.internal.sql.SqlTimeTypeAdapter$1@568ea118, com.google.gson.internal.sql.SqlDateTypeAdapter$1@1b9baae5, com.google.gson.internal.sql.SqlTimestampTypeAdapter$1@2aab162d, com.google.gson.internal.bind.ArrayTypeAdapter$1@1c8077ce, Factory[type=java.lang.Class,adapter=com.google.gson.TypeAdapter$1@3f258327], com.google.gson.internal.bind.CollectionTypeAdapterFactory@7fac8ac9, com.google.gson.internal.bind.MapTypeAdapterFactory@582eda1a, com.google.gson.internal.bind.JsonAdapterAnnotationTypeAdapterFactory@62e73d52, com.google.gson.internal.bind.TypeAdapters$29@7c91c73, com.google.gson.internal.bind.ReflectiveTypeAdapterFactory@c4c8b53],instanceCreators:{}}

@brendandburns
Copy link
Contributor

Delete sometimes returns a V1Status message when the delete is asynchronous.

I believe that this is fixed in newer versions, please try updating to 20.0.0 and see if it reoccurs.

@crazychengmm
Copy link
Author

        apiInstance.deleteNamespacedService(getServiceName(nginxDeployBO.getServerCode(), nginxDeployBO.getAppCode()),
                nginxDeployBO.getNamespace(), null, null, null,
                null, null, null);

@crazychengmm
Copy link
Author

20.0.0

I try to use 20.0.0, 19.0.0, 18.0.0, it also reoccurs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants