Open car1000 opened 1 month ago
Hi @car1000 The highest version pinpoint offers is 3.0.0. Where did you download the 4.5.2 version you claim to be using? This is an unknown version.
The official version has never thrown a ClassCastException.
Hi @car1000 The highest version pinpoint offers is 3.0.0. Where did you download the 4.5.2 version you claim to be using? This is an unknown version.
The official version has never thrown a ClassCastException.
@minwoo-jung thanks,Let me take a look.
This is an occasional problem.This problem occurs only when the MongoDB is used. However, the call chain information of the API is 500. I don't know why. It's the official 2.5.2 version. Sorry if I wrote it wrong before. @minwoo-jung
The main error message is this.
java.lang.ClassCastException: class java.lang.String cannot be cast to class com.navercorp.pinpoint.common.util.StringStringValue
To accurately analyze what is happening,
you need to look at the agent log to see if there are no error messages,
and in particular if there are no errors related to the mongodb plugin.
If there are no errors, then you need to look at how the mongodb-plugin generates the transaction data.
Specifically debugging how the MongoConstants.MONGO_JSON_DATA data is stored.
https://github.com/pinpoint-apm/pinpoint/blob/b24519307a382fe67fab1855b4f7e893737396a1/plugins/mongodb/src/main/java/com/navercorp/pinpoint/plugin/mongo/MongoUtil.java#L66
There are other things you might want to look at before digging this deep.
@minwoo-jung Thanks for the reply. I'll take a look in your direction, and if I hear anything I'll follow up.
You must use the same version when installing pinpoint-agent on pinpoint-web. If you do not use the same version, you may encounter various class problem.
We are using the same version. It's strange how this problem arises. @emeroad
We are using version 4.5.2 of pinpoint
The 500 error is displayed when you view the invoking link interface.
/transactionInfo interface for BusinessTransactionController
2024-07-10 20:36:30.592 [http-nio-8080-exec-12] ERROR o.s.b.w.s.s.ErrorPageFilter Forwarding to error page from request [/transactionInfo.pinpoint] due to exception [class java.lang.String cannot be cast to class com.navercorp.pinpoint.common.util.StringStringValue (java.lang.String is in module java.base of loader 'bootstrap'; com.navercorp.pinpoint.common.util.StringStringValue is in unnamed module of loader org.apache.catalina.loader.ParallelWebappClassLoader @7998df7a)] java.lang.ClassCastException: class java.lang.String cannot be cast to class com.navercorp.pinpoint.common.util.StringStringValue (java.lang.String is in module java.base of loader 'bootstrap'; com.navercorp.pinpoint.common.util.StringStringValue is in unnamed module of loader org.apache.catalina.loader.ParallelWebappClassLoader @7998df7a) at com.navercorp.pinpoint.web.service.SpanServiceImpl$2.replacement(SpanServiceImpl.java:288) ~[classes/:?] at com.navercorp.pinpoint.web.service.SpanServiceImpl.transitionAnnotation(SpanServiceImpl.java:194) ~[classes/:?] at com.navercorp.pinpoint.web.service.SpanServiceImpl.transitionMongoJson(SpanServiceImpl.java:272) ~[classes/:?] at com.navercorp.pinpoint.web.service.SpanServiceImpl.selectSpan(SpanServiceImpl.java:137) ~[classes/:?] at com.navercorp.pinpoint.web.controller.BusinessTransactionController.transactionInfo(BusinessTransactionController.java:104) ~[classes/:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) ~[spring-web-5.3.34.jar:5.3.34] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) ~[spring-web-5.3.34.jar:5.3.34] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-5.3.34.jar:5.3.34] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:903) ~[spring-webmvc-5.3.34.jar:5.3.34] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:809) ~[spring-webmvc-5.3.34.jar:5.3.34] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.34.jar:5.3.34] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072) ~[spring-webmvc-5.3.34.jar:5.3.34] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965) ~[spring-webmvc-5.3.34.jar:5.3.34] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.34.jar:5.3.34] at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) ~[spring-webmvc-5.3.34.jar:5.3.34] at javax.servlet.http.HttpServlet.service(HttpServlet.java:626) ~[servlet-api.jar:?] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.34.jar:5.3.34] at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) ~[servlet-api.jar:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) ~[catalina.jar:8.5.61] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:8.5.61] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) ~[tomcat-websocket.jar:8.5.61] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:8.5.61] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:8.5.61] at com.huawei.gaia.monitor.web.servlet.AuthFilter.doFilter(AuthFilter.java:68) ~[classes/:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:8.5.61] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:8.5.61] at com.navercorp.pinpoint.web.servlet.RewriteForV2Filter.doFilter(RewriteForV2Filter.java:96) ~[classes/:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:8.5.61] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:8.5.61] at org.springframework.web.filter.ShallowEtagHeaderFilter.doFilterInternal(ShallowEtagHeaderFilter.java:106) ~[spring-web-5.3.34.jar:5.3.34] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.34.jar:5.3.34] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:8.5.61] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:8.5.61] at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:126) ~[spring-boot-2.7.18.jar:2.7.18] at org.springframework.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPageFilter.java:64) ~[spring-boot-2.7.18.jar:2.7.18] at org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:101) ~[spring-boot-2.7.18.jar:2.7.18] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.34.jar:5.3.34] at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:119) ~[spring-boot-2.7.18.jar:2.7.18] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:8.5.61] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:8.5.61] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.34.jar:5.3.34] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.34.jar:5.3.34] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:8.5.61] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:8.5.61] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) ~[catalina.jar:8.5.61] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[catalina.jar:8.5.61] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:544) ~[catalina.jar:8.5.61] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) ~[catalina.jar:8.5.61] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) ~[catalina.jar:8.5.61] at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690) ~[catalina.jar:8.5.61] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[catalina.jar:8.5.61] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) ~[catalina.jar:8.5.61] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:616) ~[tomcat-coyote.jar:8.5.61] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-coyote.jar:8.5.61] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:831) ~[tomcat-coyote.jar:8.5.61] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1634) ~[tomcat-coyote.jar:8.5.61] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-coyote.jar:8.5.61] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-util.jar:8.5.61] at java.lang.Thread.run(Thread.java:829) ~[?:?]