-
Notifications
You must be signed in to change notification settings - Fork 136
Closed
Labels
api: spannerIssues related to the googleapis/java-spanner API.Issues related to the googleapis/java-spanner API.
Description
Environment details
- API: Spanner
- OS type and version:
- Java version: 11
- version(s): com.google.cloud:spring-cloud-gcp-starter-data-spanner:6.25.5
Steps to reproduce
- Create an Spring boot application that read from spanner to Database with the dependencies in the example Repo
- Application created to reproduce LeakedSessionException https://github.com/sravan-00/LeakedSessionException
Code example
https://github.com/sravan-00/LeakedSessionException
Stack trace
result = {StackTraceElement[91]@12497}
0 = {StackTraceElement@12520} "com.google.cloud.spanner.SessionPool$PooledSessionFuture.markCheckedOut(SessionPool.java:1104)"
1 = {StackTraceElement@12521} "com.google.cloud.spanner.SessionPool$PooledSessionFuture.access$4800(SessionPool.java:1085)"
2 = {StackTraceElement@12522} "com.google.cloud.spanner.SessionPool.checkoutSession(SessionPool.java:2135)"
3 = {StackTraceElement@12523} "com.google.cloud.spanner.SessionPool.getSession(SessionPool.java:2116)"
4 = {StackTraceElement@12524} "com.google.cloud.spanner.DatabaseClientImpl.getSession(DatabaseClientImpl.java:53)"
5 = {StackTraceElement@12525} "com.google.cloud.spanner.DatabaseClientImpl.singleUse(DatabaseClientImpl.java:106)"
6 = {StackTraceElement@12526} "com.google.cloud.spring.data.spanner.core.SpannerTemplate.doWithOrWithoutTransactionContext(SpannerTemplate.java:724)"
7 = {StackTraceElement@12527} "com.google.cloud.spring.data.spanner.core.SpannerTemplate.getReadContext(SpannerTemplate.java:115)"
8 = {StackTraceElement@12528} "com.google.cloud.spring.data.spanner.core.SpannerTemplate.executeRead(SpannerTemplate.java:568)"
9 = {StackTraceElement@12529} "com.google.cloud.spring.data.spanner.core.SpannerTemplate.read(SpannerTemplate.java:213)"
10 = {StackTraceElement@12530} "com.google.cloud.spring.data.spanner.core.SpannerTemplate.read(SpannerTemplate.java:188)"
11 = {StackTraceElement@12531} "com.google.cloud.spring.data.spanner.core.SpannerTemplate.read(SpannerTemplate.java:163)"
12 = {StackTraceElement@12532} "com.google.cloud.spring.data.spanner.repository.support.SimpleSpannerRepository.findById(SimpleSpannerRepository.java:95)"
13 = {StackTraceElement@12533} "java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)"
14 = {StackTraceElement@12534} "java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)"
15 = {StackTraceElement@12535} "java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)"
16 = {StackTraceElement@12536} "java.base/java.lang.reflect.Method.invoke(Method.java:566)"
17 = {StackTraceElement@12537} "org.springframework.data.repository.core.support.RepositoryMethodInvoker$RepositoryFragmentMethodInvoker.lambda$new$0(RepositoryMethodInvoker.java:289)"
18 = {StackTraceElement@12538} "org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137)"
19 = {StackTraceElement@12539} "org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121)"
20 = {StackTraceElement@12540} "org.springframework.data.repository.core.support.RepositoryComposition$RepositoryFragments.invoke(RepositoryComposition.java:529)"
21 = {StackTraceElement@12541} "org.springframework.data.repository.core.support.RepositoryComposition.invoke(RepositoryComposition.java:285)"
22 = {StackTraceElement@12542} "org.springframework.data.repository.core.support.RepositoryFactorySupport$ImplementationMethodExecutionInterceptor.invoke(RepositoryFactorySupport.java:639)"
23 = {StackTraceElement@12543} "org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)"
24 = {StackTraceElement@12544} "org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:163)"
25 = {StackTraceElement@12545} "org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:138)"
26 = {StackTraceElement@12546} "org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)"
27 = {StackTraceElement@12547} "org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)"
28 = {StackTraceElement@12548} "org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)"
29 = {StackTraceElement@12549} "org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215)"
30 = {StackTraceElement@12550} "com.sun.proxy.$Proxy126.findById(Unknown Source)"
31 = {StackTraceElement@12551} "com.example.demo.controller.DemoController.getSingerName(DemoController.java:21)"
32 = {StackTraceElement@12552} "java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)"
33 = {StackTraceElement@12553} "java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)"
34 = {StackTraceElement@12554} "java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)"
35 = {StackTraceElement@12555} "java.base/java.lang.reflect.Method.invoke(Method.java:566)"
36 = {StackTraceElement@12556} "org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)"
37 = {StackTraceElement@12557} "org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)"
38 = {StackTraceElement@12558} "org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)"
39 = {StackTraceElement@12559} "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)"
40 = {StackTraceElement@12560} "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)"
41 = {StackTraceElement@12561} "org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)"
42 = {StackTraceElement@12562} "org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067)"
43 = {StackTraceElement@12563} "org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)"
44 = {StackTraceElement@12564} "org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)"
45 = {StackTraceElement@12565} "org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)"
46 = {StackTraceElement@12566} "javax.servlet.http.HttpServlet.service(HttpServlet.java:655)"
47 = {StackTraceElement@12567} "org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)"
48 = {StackTraceElement@12568} "javax.servlet.http.HttpServlet.service(HttpServlet.java:764)"
49 = {StackTraceElement@12569} "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)"
50 = {StackTraceElement@12570} "org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)"
51 = {StackTraceElement@12571} "org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)"
52 = {StackTraceElement@12572} "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)"
53 = {StackTraceElement@12573} "org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)"
54 = {StackTraceElement@12574} "org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)"
55 = {StackTraceElement@12575} "org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)"
56 = {StackTraceElement@12576} "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)"
57 = {StackTraceElement@12577} "org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)"
58 = {StackTraceElement@12578} "org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)"
59 = {StackTraceElement@12579} "org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)"
60 = {StackTraceElement@12580} "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)"
61 = {StackTraceElement@12581} "org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)"
62 = {StackTraceElement@12582} "org.springframework.cloud.sleuth.instrument.web.servlet.TracingFilter.doFilter(TracingFilter.java:68)"
63 = {StackTraceElement@12583} "org.springframework.cloud.sleuth.autoconfig.instrument.web.TraceWebServletConfiguration$LazyTracingFilter.doFilter(TraceWebServletConfiguration.java:129)"
64 = {StackTraceElement@12584} "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)"
65 = {StackTraceElement@12585} "org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)"
66 = {StackTraceElement@12586} "org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)"
67 = {StackTraceElement@12587} "org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)"
68 = {StackTraceElement@12588} "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)"
69 = {StackTraceElement@12589} "org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)"
70 = {StackTraceElement@12590} "org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)"
71 = {StackTraceElement@12591} "org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)"
72 = {StackTraceElement@12592} "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)"
73 = {StackTraceElement@12593} "org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)"
74 = {StackTraceElement@12594} "org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)"
75 = {StackTraceElement@12595} "org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)"
76 = {StackTraceElement@12596} "org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)"
77 = {StackTraceElement@12597} "org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)"
78 = {StackTraceElement@12598} "org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)"
79 = {StackTraceElement@12599} "org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)"
80 = {StackTraceElement@12600} "org.springframework.cloud.sleuth.instrument.web.tomcat.TraceValve.invoke(TraceValve.java:74)"
81 = {StackTraceElement@12601} "org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)"
82 = {StackTraceElement@12602} "org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)"
83 = {StackTraceElement@12603} "org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)"
84 = {StackTraceElement@12604} "org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:895)"
85 = {StackTraceElement@12605} "org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1722)"
86 = {StackTraceElement@12606} "org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)"
87 = {StackTraceElement@12607} "org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)"
88 = {StackTraceElement@12608} "org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)"
89 = {StackTraceElement@12609} "org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)"
90 = {StackTraceElement@12610} "java.base/java.lang.Thread.run(Thread.java:829)"
External references such as API reference guides
NA
Any additional information below
Even though LeakedSessionExceptionis not being thrown in execution of code but We are obsering the performance issues on queries.
Following these steps guarantees the quickest resolution possible.
Thanks!
Metadata
Metadata
Assignees
Labels
api: spannerIssues related to the googleapis/java-spanner API.Issues related to the googleapis/java-spanner API.