- Notifications
You must be signed in to change notification settings - Fork 135
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.