[go: up one dir, main page]

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

Firestore: Flaky Test: Error while extracting response for type User #2908

Open
burkedavison opened this issue May 21, 2024 · 0 comments
Open
Labels
priority: p2 type: bug Something isn't working

Comments

@burkedavison
Copy link
Member

Example failure: https://github.com/GoogleCloudPlatform/spring-cloud-gcp/actions/runs/9177555577/job/25235430798

16:00:41.351 [grpc-default-executor-0] WARN  c.g.c.firestore.CustomClassMapper - No setter/field for phones found on class com.example.User
16:00:41.368 [grpc-default-executor-0] ERROR o.s.b.a.w.r.e.AbstractErrorWebExceptionHandler - [f78a1336-2]  500 Server Error for HTTP GET "/users"
java.lang.RuntimeException: 'name' was found from document users/joe, cannot apply @DocumentId on this property for class com.example.User
	at com.google.cloud.firestore.CustomClassMapper$BeanMapper.populateDocumentIdProperties(CustomClassMapper.java:900)
	Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: 
Error has been observed at the following site(s):
	*__checkpoint ⇢ Handler com.example.UserController#getAllUsers() [DispatcherHandler]
	*__checkpoint ⇢ HTTP GET "/users" [ExceptionHandlingWebHandler]
Original Stack Trace:
		at com.google.cloud.firestore.CustomClassMapper$BeanMapper.populateDocumentIdProperties(CustomClassMapper.java:900)
		at com.google.cloud.firestore.CustomClassMapper$BeanMapper.deserialize(CustomClassMapper.java:878)
		at com.google.cloud.firestore.CustomClassMapper$BeanMapper.deserialize(CustomClassMapper.java:811)
		at com.google.cloud.firestore.CustomClassMapper.convertBean(CustomClassMapper.java:612)
		at com.google.cloud.firestore.CustomClassMapper.deserializeToClass(CustomClassMapper.java:262)
		at com.google.cloud.firestore.CustomClassMapper.convertToCustomClass(CustomClassMapper.java:101)
		at com.google.cloud.firestore.DocumentSnapshot.toObject(DocumentSnapshot.java:189)
		at com.google.cloud.spring.data.firestore.mapping.FirestoreDefaultClassMapper.documentToEntity(FirestoreDefaultClassMapper.java:67)
		at com.google.cloud.spring.data.firestore.FirestoreTemplate.lambda$findAll$8(FirestoreTemplate.java:227)
		at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:106)
		at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:122)
		at reactor.core.publisher.FluxFilter$FilterSubscriber.onNext(FluxFilter.java:113)
		at reactor.core.publisher.FluxCreate$BufferAsyncSink.drain(FluxCreate.java:880)
		at reactor.core.publisher.FluxCreate$BufferAsyncSink.next(FluxCreate.java:805)
		at reactor.core.publisher.FluxCreate$SerializedFluxSink.next(FluxCreate.java:163)
		at com.google.cloud.spring.data.firestore.util.ObservableReactiveUtil$StreamingObserver.onNext(ObservableReactiveUtil.java:83)
		at io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onMessage(ClientCalls.java:468)
		at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1MessagesAvailable.runInternal(ClientCallImpl.java:667)
		at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1MessagesAvailable.runInContext(ClientCallImpl.java:654)
		at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
		at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
		at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
		at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
		at java.base/java.lang.Thread.run(Thread.java:840)
Error: 1:451 [ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 4.796 s <<< FAILURE! -- in com.example.FirestoreSampleApplicationIntegrationTests
Error: 1:451 [ERROR] com.example.FirestoreSampleApplicationIntegrationTests.saveUserTest -- Time elapsed: 1.846 s <<< ERROR!
org.springframework.web.client.RestClientException: Error while extracting response for type [class [Lcom.example.User;] and content type [application/json]
	at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:119)
	at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:892)
	at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:790)
	at org.springframework.web.client.RestTemplate.getForObject(RestTemplate.java:404)
	at com.example.TestUserClient.listUsers(TestUserClient.java:45)
	at com.example.FirestoreSampleApplicationIntegrationTests.saveUserTest(FirestoreSampleApplicationIntegrationTests.java:69)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
Caused by: org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type `[Lcom.example.User;` from Object value (token `JsonToken.START_OBJECT`)
	at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:406)
	at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.read(AbstractJackson2HttpMessageConverter.java:354)
	at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:104)
	... 8 more
Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize value of type `[Lcom.example.User;` from Object value (token `JsonToken.START_OBJECT`)
 at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 1, column: 1]
	at com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)
	at com.fasterxml.jackson.databind.DeserializationContext.reportInputMismatch(DeserializationContext.java:1752)
	at com.fasterxml.jackson.databind.DeserializationContext.handleUnexpectedToken(DeserializationContext.java:1526)
	at com.fasterxml.jackson.databind.DeserializationContext.handleUnexpectedToken(DeserializationContext.java:1473)
	at com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer.handleNonArray(ObjectArrayDeserializer.java:345)
	at com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer.deserialize(ObjectArrayDeserializer.java:197)
	at com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer.deserialize(ObjectArrayDeserializer.java:27)
	at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:323)
	at com.fasterxml.jackson.databind.ObjectReader._bindAndClose(ObjectReader.java:2105)
	at com.fasterxml.jackson.databind.ObjectReader.readValue(ObjectReader.java:1481)
	at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:395)
	... 10 more
@lqiu96 lqiu96 added type: bug Something isn't working priority: p2 labels May 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority: p2 type: bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants