spring-projects / spring-data-redis

Provides support to increase developer productivity in Java when using Redis, a key-value store. Uses familiar Spring concepts such as a template classes for core API usage and lightweight repository style data access.
https://spring.io/projects/spring-data-redis/
Apache License 2.0
1.75k stars 1.16k forks source link

How to debug hanging hasKey call [DATAREDIS-859] #1434

Closed spring-projects-issues closed 6 years ago

spring-projects-issues commented 6 years ago

srm opened DATAREDIS-859 and commented

Initially posted on JEDIS github but was redirected here:

Using jedis 2.9.0 with Spring-Data-Redis 1.8.7 Calling redisTemplate.hasKey() leads to a stacktrace that keeps haning forever (now 9 hours) while working before flawlesly (~200k calls). How can I continue to investigate the current situation. I have root access to the instance running the java process and the redis server. Both are local to each other. The java process and Redis are running on the same machine.

There's also a repeating thread/task in the java process that checks for a certain size for a key which works perfectly.

I've checked the redis server ith redis-cli and see multiple client connections.

127.0.0.1:6379> CLIENT LIST
id=27 addr=127.0.0.1:40616 fd=16 name= age=4 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client
id=20 addr=127.0.0.1:34673 fd=11 name= age=93477 idle=62746 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=set
id=21 addr=127.0.0.1:34701 fd=12 name= age=92450 idle=72813 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=rpush
id=22 addr=127.0.0.1:34795 fd=13 name= age=90386 idle=63831 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=hset
id=23 addr=127.0.0.1:35059 fd=14 name= age=84332 idle=64742 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=rpush
id=17 addr=127.0.0.1:34665 fd=8 name= age=93618 idle=93617 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=dbsize
id=24 addr=127.0.0.1:35811 fd=15 name= age=70817 idle=68771 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=rpush
id=18 addr=127.0.0.1:34667 fd=9 name= age=93617 idle=93617 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=dbsize
id=19 addr=127.0.0.1:34668 fd=10 name= age=93615 idle=1 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=llen

MEMORY DOCTOR reports no problems MONITOR shows te repeating thread working fine

127.0.0.1:6379> monitor
OK
1534011319.682913 [0 127.0.0.1:34668] "LLEN" "ASSIGNMENT_QUEUE_KEY"
1534011321.683274 [0 127.0.0.1:34668] "LLEN" "ASSIGNMENT_QUEUE_KEY"
1534011323.683664 [0 127.0.0.1:34668] "LLEN" "ASSIGNMENT_QUEUE_KEY"
... every ~2 seconds 

See Stacktrace of the call at the end.

The application creates 4 redistemplates in total on startup. See following snippets. The connectionFactory:

JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory();

The instantiations of the templates:

Class A:
        redisTemplate = new RedisTemplate<>();
        redisTemplate.setConnectionFactory(jedisConnectionFactory);
        redisTemplate.setEnableTransactionSupport(true);
        redisTemplate.afterPropertiesSet();

        lastBlockIdTemplate = new RedisTemplate<>();
        lastBlockIdTemplate.setConnectionFactory(jedisConnectionFactory);
        lastBlockIdTemplate.setEnableTransactionSupport(true);
        lastBlockIdTemplate.afterPropertiesSet();

Class B:
        this.redisTemplate = new RedisTemplate<>();
        this.redisTemplate.setConnectionFactory(connectionFactory);
        this.redisTemplate.setKeySerializer(new StringRedisSerializer());
        this.redisTemplate.setEnableTransactionSupport(true);
        this.redisTemplate.afterPropertiesSet();

Class C:
        this.redisTemplate = new RedisTemplate<>();
        redisTemplate.setConnectionFactory(redisConnectionFactory);
        redisTemplate.setKeySerializer(new StringRedisSerializer());
        redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer());
        redisTemplate.setEnableTransactionSupport(true);
        redisTemplate.afterPropertiesSet();

Running REDIS 4.0.8 on a Debian instance virtualized on KVM/libvirt.

Redis Server TOP values: Prio: 20 Nice: 0 Virt: 1043120 Res: 737180 SHR: 1496 S: S %Mem: 18.2

Related thread-dump:

2018-08-11_09:19:18.45343 "pool-3-thread-5" #1989 prio=5 os_prio=0 tid=0x00007f860c7d9800 nid=0xb12 waiting on condition [0x00007f86248de000]
2018-08-11_09:19:18.45343 java.lang.Thread.State: WAITING (parking)
2018-08-11_09:19:18.45344 at sun.misc.Unsafe.park(Native Method)
2018-08-11_09:19:18.45345 - parking to wait for <0x00000007006e36d8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
2018-08-11_09:19:18.45345 at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
2018-08-11_09:19:18.45346 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
2018-08-11_09:19:18.45347 at org.apache.commons.pool2.impl.LinkedBlockingDeque.takeFirst(LinkedBlockingDeque.java:583)
2018-08-11_09:19:18.45349 at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:442)
2018-08-11_09:19:18.45350 at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:363)
2018-08-11_09:19:18.45351 at redis.clients.util.Pool.getResource(Pool.java:49)
2018-08-11_09:19:18.45352 at redis.clients.jedis.JedisPool.getResource(JedisPool.java:226)
2018-08-11_09:19:18.45353 at redis.clients.jedis.JedisPool.getResource(JedisPool.java:16)
2018-08-11_09:19:18.45353 at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.fetchJedisConnector(JedisConnectionFactory.java:194)
2018-08-11_09:19:18.45354 at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.getConnection(JedisConnectionFactory.java:348)
2018-08-11_09:19:18.45355 at org.springframework.data.redis.core.RedisConnectionUtils.doGetConnection(RedisConnectionUtils.java:129)
2018-08-11_09:19:18.45355 at org.springframework.data.redis.core.RedisConnectionUtils.bindConnection(RedisConnectionUtils.java:67)
2018-08-11_09:19:18.45356 at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:192)
2018-08-11_09:19:18.45357 at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:169)
2018-08-11_09:19:18.45359 at org.springframework.data.redis.core.RedisTemplate.hasKey(RedisTemplate.java:658)

Initial issue https://github.com/xetorthio/jedis/issues/1844#issuecomment-412288913


No further details from DATAREDIS-859

spring-projects-issues commented 6 years ago

srm commented

PS: the best scenario for me would be to investigate the hanging/running instance, basically out of curiosity. I'll try and keep the whole thing up as long as possible. Sadly, no remote debugging possible but I have access to the machine with a full JDK and possibility to apt-get additional packages

spring-projects-issues commented 6 years ago

Mark Paluch commented

Can you post please the full thread dump? The attached trace shows that the connection pool is waiting for connection creation. For some reason, the pool is exhausted.

As workaround, set the maxWait property of JedisPool to a reasonable timeout (a few seconds)

spring-projects-issues commented 6 years ago

srm commented

Mark Paluch Here's the full thread-dump. The app has to be restarted now for another issue. We'll redeploy with reasonable connectionFactory parameters. Here's a link to the full thread-dump https://gist.github.com/srmo/78b54a4b10103e6a1a92d3d7ae0726aa

spring-projects-issues commented 6 years ago

Mark Paluch commented

Thanks a lot. RedisTemplate binds connections to threads because redisTemplate.setEnableTransactionSupport(…) is enabled. There are no @Transactional methods in the call involved which would complete the transaction and release the connection back to the pool.

Please disable transaction support unless require transactions. In that case, you need to add @Transactional methods to your service classes

spring-projects-issues commented 6 years ago

srm commented

OK, using adjusted params and removed transaction support. Seems to work better now but hitting an OOM error. Trying with overcommit_memory kernel param. The machine's memory is very tight so the underlying cause might as well be resource drainage.

Could insufficient memory also explain the initially observed behavior? Either way, I think this can be closed for now as we also updated to the latest 1.8.14 and will now investigate the memory rstrictions we have in place. Thanks!

spring-projects-issues commented 6 years ago

Mark Paluch commented

Closing this one as things work as designed. If you have general questions, then StackOverflow is probably a good place to ask

YanziQii commented 2 months ago

hi,i used has same question. This bug occurs once every few months properties :spring.redis.timeout=5000 spring.redis.jedis.pool.max-idle=8 spring.redis.jedis.pool.min-idle=1 spring.redis.jedis.pool.max-active=8 spring.redis.jedis.pool.max-wait=-1 spring.cache.redis.cache-null-values=true spring.cache.redis.time-to-live=PT24H spring.cache.type=redis
and redisTemplate.setEnableTransactionSupport() is default(false) jdk version:1.8 , springboot.version:2.0.8.RELEASE 1000 request/s and dumps:

sun.misc.Unsafe.park(boolean, long) java.util.concurrent.locks.LockSupport.park(java.lang.Object) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await() org.apache.commons.pool2.impl.LinkedBlockingDeque.takeFirst() (line: 590) org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(long) (line: 441) org.apache.commons.pool2.impl.GenericObjectPool.borrowObject() (line: 362) redis.clients.util.Pool.getResource() (line: 49) redis.clients.jedis.JedisPool.getResource() (line: 226) redis.clients.jedis.JedisPool.getResource() (line: 16) org.springframework.data.redis.connection.jedis.JedisConnectionFactory.fetchJedisConnector() (line: 276) org.springframework.data.redis.connection.jedis.JedisConnectionFactory.getConnection() (line: 469) org.springframework.data.redis.core.RedisConnectionUtils.doGetConnection(org.springframework.data.redis.connection.RedisConnectionFactory, boolean, boolean, boolean) (line: 132) org.springframework.data.redis.core.RedisConnectionUtils.getConnection(org.springframework.data.redis.connection.RedisConnectionFactory, boolean) (line: 95) org.springframework.data.redis.core.RedisConnectionUtils.getConnection(org.springframework.data.redis.connection.RedisConnectionFactory) (line: 82) org.springframework.data.redis.core.RedisTemplate.execute(org.springframework.data.redis.core.RedisCallback, boolean, boolean) (line: 211) org.springframework.data.redis.core.RedisTemplate.execute(org.springframework.data.redis.core.RedisCallback, boolean) (line: 184) org.springframework.data.redis.core.RedisTemplate.hasKey(java.lang.Object) (line: 739) com.demo.commons.service.impl.RedisServiceImpl.hasKey(java.lang.String) (line: 95) com.demo.commons.service.impl.RedisServiceImpl$$FastClassBySpringCGLIB$$1f569970.invoke(int, java.lang.Object, java.lang.Object[ ]) org.springframework.cglib.proxy.MethodProxy.invoke(java.lang.Object, java.lang.Object[ ]) (line: 204) org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint() (line: 746) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 163) org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed() (line: 88) com.demo.config.SynchronizeDataToFlowAop.aroundCreateOrUpdate(org.aspectj.lang.ProceedingJoinPoint) (line: 101) com.demo.config.SynchronizeDataToFlowAop$$FastClassBySpringCGLIB$$939b829f.invoke(int, java.lang.Object, java.lang.Object[ ]) org.springframework.cglib.proxy.MethodProxy.invoke(java.lang.Object, java.lang.Object[ ]) (line: 204) org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint() (line: 746) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 163) com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(org.aopalliance.intercept.MethodInvocation) (line: 73) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[ ], org.springframework.cglib.proxy.MethodProxy) (line: 688) com.demo.config.SynchronizeDataToFlowAop$$EnhancerBySpringCGLIB$$a1ed073b.aroundCreateOrUpdate(org.aspectj.lang.ProceedingJoinPoint) sun.reflect.GeneratedMethodAccessor172.invoke(java.lang.Object, java.lang.Object[ ]) sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[ ]) java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[ ]) org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(java.lang.Object[ ]) (line: 644) org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(org.aspectj.lang.JoinPoint, org.aspectj.weaver.tools.JoinPointMatch, java.lang.Object, java.lang.Throwable) (line: 633) org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(org.aopalliance.intercept.MethodInvocation) (line: 70) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed() (line: 88) com.demo.config.ObjectSaveNoteAop.aroundCreateOrUpdate(org.aspectj.lang.ProceedingJoinPoint) (line: 57) com.demo.config.ObjectSaveNoteAop$$FastClassBySpringCGLIB$$2dbbbc14.invoke(int, java.lang.Object, java.lang.Object[ ]) org.springframework.cglib.proxy.MethodProxy.invoke(java.lang.Object, java.lang.Object[ ]) (line: 204) org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint() (line: 746) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 163) com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(org.aopalliance.intercept.MethodInvocation) (line: 73) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[ ], org.springframework.cglib.proxy.MethodProxy) (line: 688) com.demo.config.ObjectSaveNoteAop$$EnhancerBySpringCGLIB$$28bc24a8.aroundCreateOrUpdate(org.aspectj.lang.ProceedingJoinPoint) sun.reflect.GeneratedMethodAccessor171.invoke(java.lang.Object, java.lang.Object[ ]) sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[ ]) java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[ ]) org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(java.lang.Object[ ]) (line: 644) org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(org.aspectj.lang.JoinPoint, org.aspectj.weaver.tools.JoinPointMatch, java.lang.Object, java.lang.Throwable) (line: 633) org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(org.aopalliance.intercept.MethodInvocation) (line: 70) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed() (line: 88) com.demo.config.FeatureListMergeTaskDataAop.afterReturnFeatureList(org.aspectj.lang.ProceedingJoinPoint) (line: 65) com.demo.config.FeatureListMergeTaskDataAop$$FastClassBySpringCGLIB$$e920a68f.invoke(int, java.lang.Object, java.lang.Object[ ]) org.springframework.cglib.proxy.MethodProxy.invoke(java.lang.Object, java.lang.Object[ ]) (line: 204) org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint() (line: 746) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 163) com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(org.aopalliance.intercept.MethodInvocation) (line: 73) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[ ], org.springframework.cglib.proxy.MethodProxy) (line: 688) com.demo.config.FeatureListMergeTaskDataAop$$EnhancerBySpringCGLIB$$3bdbb9ab.afterReturnFeatureList(org.aspectj.lang.ProceedingJoinPoint) sun.reflect.GeneratedMethodAccessor170.invoke(java.lang.Object, java.lang.Object[ ]) sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[ ]) java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[ ]) org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(java.lang.Object[ ]) (line: 644) org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(org.aspectj.lang.JoinPoint, org.aspectj.weaver.tools.JoinPointMatch, java.lang.Object, java.lang.Throwable) (line: 633) org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(org.aopalliance.intercept.MethodInvocation) (line: 70) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(org.aopalliance.intercept.MethodInvocation) (line: 56) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(org.aopalliance.intercept.MethodInvocation) (line: 73) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(org.aopalliance.intercept.MethodInvocation) (line: 92) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[ ], org.springframework.cglib.proxy.MethodProxy) (line: 688) com.demo.commons.service.impl.RedisServiceImpl$$EnhancerBySpringCGLIB$$dab92b13.hasKey(java.lang.String) com.demo.commons.service.impl.RedisServiceImpl$$FastClassBySpringCGLIB$$1f569970.invoke(int, java.lang.Object, java.lang.Object[ ]) org.springframework.cglib.proxy.MethodProxy.invoke(java.lang.Object, java.lang.Object[ ]) (line: 204) org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint() (line: 746) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 163) com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(org.aopalliance.intercept.MethodInvocation) (line: 73) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[ ], org.springframework.cglib.proxy.MethodProxy) (line: 688) com.demo.commons.service.impl.RedisServiceImpl$$EnhancerBySpringCGLIB$$98c68637.hasKey(java.lang.String) com.demo.commons.service.impl.TokenUserServiceImpl.selectUserByToken(java.lang.String) (line: 35) com.demo.commons.service.impl.TokenUserServiceImpl.selectCurrentUser() (line: 58) com.demo.commons.service.impl.TokenUserServiceImpl$$FastClassBySpringCGLIB$$535082e7.invoke(int, java.lang.Object, java.lang.Object[ ]) org.springframework.cglib.proxy.MethodProxy.invoke(java.lang.Object, java.lang.Object[ ]) (line: 204) org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint() (line: 746) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 163) org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed() (line: 88) com.demo.config.SynchronizeDataToFlowAop.aroundCreateOrUpdate(org.aspectj.lang.ProceedingJoinPoint) (line: 101) com.demo.config.SynchronizeDataToFlowAop$$FastClassBySpringCGLIB$$939b829f.invoke(int, java.lang.Object, java.lang.Object[ ]) org.springframework.cglib.proxy.MethodProxy.invoke(java.lang.Object, java.lang.Object[ ]) (line: 204) org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint() (line: 746) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 163) com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(org.aopalliance.intercept.MethodInvocation) (line: 73) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[ ], org.springframework.cglib.proxy.MethodProxy) (line: 688) com.demo.config.SynchronizeDataToFlowAop$$EnhancerBySpringCGLIB$$a1ed073b.aroundCreateOrUpdate(org.aspectj.lang.ProceedingJoinPoint) sun.reflect.GeneratedMethodAccessor172.invoke(java.lang.Object, java.lang.Object[ ]) sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[ ]) java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[ ]) org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(java.lang.Object[ ]) (line: 644) org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(org.aspectj.lang.JoinPoint, org.aspectj.weaver.tools.JoinPointMatch, java.lang.Object, java.lang.Throwable) (line: 633) org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(org.aopalliance.intercept.MethodInvocation) (line: 70) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed() (line: 88) com.demo.config.ObjectSaveNoteAop.aroundCreateOrUpdate(org.aspectj.lang.ProceedingJoinPoint) (line: 57) com.demo.config.ObjectSaveNoteAop$$FastClassBySpringCGLIB$$2dbbbc14.invoke(int, java.lang.Object, java.lang.Object[ ]) org.springframework.cglib.proxy.MethodProxy.invoke(java.lang.Object, java.lang.Object[ ]) (line: 204) org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint() (line: 746) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 163) com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(org.aopalliance.intercept.MethodInvocation) (line: 73) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[ ], org.springframework.cglib.proxy.MethodProxy) (line: 688) com.demo.config.ObjectSaveNoteAop$$EnhancerBySpringCGLIB$$28bc24a8.aroundCreateOrUpdate(org.aspectj.lang.ProceedingJoinPoint) sun.reflect.GeneratedMethodAccessor171.invoke(java.lang.Object, java.lang.Object[ ]) sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[ ]) java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[ ]) org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(java.lang.Object[ ]) (line: 644) org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(org.aspectj.lang.JoinPoint, org.aspectj.weaver.tools.JoinPointMatch, java.lang.Object, java.lang.Throwable) (line: 633) org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(org.aopalliance.intercept.MethodInvocation) (line: 70) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed() (line: 88) com.demo.config.FeatureListMergeTaskDataAop.afterReturnFeatureList(org.aspectj.lang.ProceedingJoinPoint) (line: 65) com.demo.config.FeatureListMergeTaskDataAop$$FastClassBySpringCGLIB$$e920a68f.invoke(int, java.lang.Object, java.lang.Object[ ]) org.springframework.cglib.proxy.MethodProxy.invoke(java.lang.Object, java.lang.Object[ ]) (line: 204) org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint() (line: 746) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 163) com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(org.aopalliance.intercept.MethodInvocation) (line: 73) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[ ], org.springframework.cglib.proxy.MethodProxy) (line: 688) com.demo.config.FeatureListMergeTaskDataAop$$EnhancerBySpringCGLIB$$3bdbb9ab.afterReturnFeatureList(org.aspectj.lang.ProceedingJoinPoint) sun.reflect.GeneratedMethodAccessor170.invoke(java.lang.Object, java.lang.Object[ ]) sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[ ]) java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[ ]) org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(java.lang.Object[ ]) (line: 644) org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(org.aspectj.lang.JoinPoint, org.aspectj.weaver.tools.JoinPointMatch, java.lang.Object, java.lang.Throwable) (line: 633) org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(org.aopalliance.intercept.MethodInvocation) (line: 70) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(org.aopalliance.intercept.MethodInvocation) (line: 56) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(org.aopalliance.intercept.MethodInvocation) (line: 73) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(org.aopalliance.intercept.MethodInvocation) (line: 92) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[ ], org.springframework.cglib.proxy.MethodProxy) (line: 688) com.demo.commons.service.impl.TokenUserServiceImpl$$EnhancerBySpringCGLIB$$e6ed09d8.selectCurrentUser() com.demo.commons.service.impl.TokenUserServiceImpl$$FastClassBySpringCGLIB$$535082e7.invoke(int, java.lang.Object, java.lang.Object[ ]) org.springframework.cglib.proxy.MethodProxy.invoke(java.lang.Object, java.lang.Object[ ]) (line: 204) org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint() (line: 746) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 163) com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(org.aopalliance.intercept.MethodInvocation) (line: 73) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[ ], org.springframework.cglib.proxy.MethodProxy) (line: 688) com.demo.commons.service.impl.TokenUserServiceImpl$$EnhancerBySpringCGLIB$$778c8dd6.selectCurrentUser() com.demo.service.impl.NotifyInfoServiceImpl.listByUser(com.demo.commons.po.vo.Param) (line: 72) com.demo.service.impl.NotifyInfoServiceImpl$$FastClassBySpringCGLIB$$c1a7b0f5.invoke(int, java.lang.Object, java.lang.Object[ ]) org.springframework.cglib.proxy.MethodProxy.invoke(java.lang.Object, java.lang.Object[ ]) (line: 204) org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint() (line: 746) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 163) org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed() (line: 88) com.demo.config.SynchronizeDataToFlowAop.aroundCreateOrUpdate(org.aspectj.lang.ProceedingJoinPoint) (line: 101) com.demo.config.SynchronizeDataToFlowAop$$FastClassBySpringCGLIB$$939b829f.invoke(int, java.lang.Object, java.lang.Object[ ]) org.springframework.cglib.proxy.MethodProxy.invoke(java.lang.Object, java.lang.Object[ ]) (line: 204) org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint() (line: 746) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 163) com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(org.aopalliance.intercept.MethodInvocation) (line: 73) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[ ], org.springframework.cglib.proxy.MethodProxy) (line: 688) com.demo.config.SynchronizeDataToFlowAop$$EnhancerBySpringCGLIB$$a1ed073b.aroundCreateOrUpdate(org.aspectj.lang.ProceedingJoinPoint) sun.reflect.GeneratedMethodAccessor172.invoke(java.lang.Object, java.lang.Object[ ]) sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[ ]) java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[ ]) org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(java.lang.Object[ ]) (line: 644) org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(org.aspectj.lang.JoinPoint, org.aspectj.weaver.tools.JoinPointMatch, java.lang.Object, java.lang.Throwable) (line: 633) org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(org.aopalliance.intercept.MethodInvocation) (line: 70) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed() (line: 88) com.demo.config.ObjectSaveNoteAop.aroundCreateOrUpdate(org.aspectj.lang.ProceedingJoinPoint) (line: 57) com.demo.config.ObjectSaveNoteAop$$FastClassBySpringCGLIB$$2dbbbc14.invoke(int, java.lang.Object, java.lang.Object[ ]) org.springframework.cglib.proxy.MethodProxy.invoke(java.lang.Object, java.lang.Object[ ]) (line: 204) org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint() (line: 746) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 163) com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(org.aopalliance.intercept.MethodInvocation) (line: 73) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[ ], org.springframework.cglib.proxy.MethodProxy) (line: 688) com.demo.config.ObjectSaveNoteAop$$EnhancerBySpringCGLIB$$28bc24a8.aroundCreateOrUpdate(org.aspectj.lang.ProceedingJoinPoint) sun.reflect.GeneratedMethodAccessor171.invoke(java.lang.Object, java.lang.Object[ ]) sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[ ]) java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[ ]) org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(java.lang.Object[ ]) (line: 644) org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(org.aspectj.lang.JoinPoint, org.aspectj.weaver.tools.JoinPointMatch, java.lang.Object, java.lang.Throwable) (line: 633) org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(org.aopalliance.intercept.MethodInvocation) (line: 70) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed() (line: 88) com.demo.config.FeatureListMergeTaskDataAop.afterReturnFeatureList(org.aspectj.lang.ProceedingJoinPoint) (line: 65) com.demo.config.FeatureListMergeTaskDataAop$$FastClassBySpringCGLIB$$e920a68f.invoke(int, java.lang.Object, java.lang.Object[ ]) org.springframework.cglib.proxy.MethodProxy.invoke(java.lang.Object, java.lang.Object[ ]) (line: 204) org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint() (line: 746) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 163) com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(org.aopalliance.intercept.MethodInvocation) (line: 73) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[ ], org.springframework.cglib.proxy.MethodProxy) (line: 688) com.demo.config.FeatureListMergeTaskDataAop$$EnhancerBySpringCGLIB$$3bdbb9ab.afterReturnFeatureList(org.aspectj.lang.ProceedingJoinPoint) sun.reflect.GeneratedMethodAccessor170.invoke(java.lang.Object, java.lang.Object[ ]) sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[ ]) java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[ ]) org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(java.lang.Object[ ]) (line: 644) org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(org.aspectj.lang.JoinPoint, org.aspectj.weaver.tools.JoinPointMatch, java.lang.Object, java.lang.Throwable) (line: 633) org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(org.aopalliance.intercept.MethodInvocation) (line: 70) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(org.aopalliance.intercept.MethodInvocation) (line: 56) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(org.aopalliance.intercept.MethodInvocation) (line: 73) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(org.aopalliance.intercept.MethodInvocation) (line: 92) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[ ], org.springframework.cglib.proxy.MethodProxy) (line: 688) com.demo.service.impl.NotifyInfoServiceImpl$$EnhancerBySpringCGLIB$$5f752fbe.listByUser(com.demo.commons.po.vo.Param) com.demo.service.impl.NotifyInfoServiceImpl$$FastClassBySpringCGLIB$$c1a7b0f5.invoke(int, java.lang.Object, java.lang.Object[ ]) org.springframework.cglib.proxy.MethodProxy.invoke(java.lang.Object, java.lang.Object[ ]) (line: 204) org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint() (line: 746) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 163) com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(org.aopalliance.intercept.MethodInvocation) (line: 73) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[ ], org.springframework.cglib.proxy.MethodProxy) (line: 688) com.demo.service.impl.NotifyInfoServiceImpl$$EnhancerBySpringCGLIB$$efd9f9bc.listByUser(com.demo.commons.po.vo.Param) com.demo.controller.DemoController.listByUser(com.demo.commons.po.vo.Param) (line: 38) com.demo.controller.DemoController$$FastClassBySpringCGLIB$$4b2c5819.invoke(int, java.lang.Object, java.lang.Object[ ]) org.springframework.cglib.proxy.MethodProxy.invoke(java.lang.Object, java.lang.Object[ ]) (line: 204) org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint() (line: 746) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 163) org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed() (line: 88) com.demo.commons.config.LogAspectConfig.doAround(org.aspectj.lang.ProceedingJoinPoint) (line: 80) com.demo.commons.config.LogAspectConfig$$FastClassBySpringCGLIB$$6d8609a6.invoke(int, java.lang.Object, java.lang.Object[ ]) org.springframework.cglib.proxy.MethodProxy.invoke(java.lang.Object, java.lang.Object[ ]) (line: 204) org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint() (line: 746) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 163) com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(org.aopalliance.intercept.MethodInvocation) (line: 73) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[ ], org.springframework.cglib.proxy.MethodProxy) (line: 688) com.demo.commons.config.LogAspectConfig$$EnhancerBySpringCGLIB$$4f8fc1ea.doAround(org.aspectj.lang.ProceedingJoinPoint) sun.reflect.GeneratedMethodAccessor186.invoke(java.lang.Object, java.lang.Object[ ]) sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[ ]) java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[ ]) org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(java.lang.Object[ ]) (line: 644) org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(org.aspectj.lang.JoinPoint, org.aspectj.weaver.tools.JoinPointMatch, java.lang.Object, java.lang.Throwable) (line: 633) org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(org.aopalliance.intercept.MethodInvocation) (line: 70) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(org.aopalliance.intercept.MethodInvocation) (line: 55) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(org.aopalliance.intercept.MethodInvocation) (line: 62) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed() (line: 88) com.demo.config.DynamicAop.aroundCreateOrUpdate(org.aspectj.lang.ProceedingJoinPoint) (line: 53) com.demo.config.DynamicAop$$FastClassBySpringCGLIB$$b03f36cb.invoke(int, java.lang.Object, java.lang.Object[ ]) org.springframework.cglib.proxy.MethodProxy.invoke(java.lang.Object, java.lang.Object[ ]) (line: 204) org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint() (line: 746) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 163) com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(org.aopalliance.intercept.MethodInvocation) (line: 73) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[ ], org.springframework.cglib.proxy.MethodProxy) (line: 688) com.demo.config.DynamicAop$$EnhancerBySpringCGLIB$$c7359b87.aroundCreateOrUpdate(org.aspectj.lang.ProceedingJoinPoint) sun.reflect.GeneratedMethodAccessor192.invoke(java.lang.Object, java.lang.Object[ ]) sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[ ]) java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[ ]) org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(java.lang.Object[ ]) (line: 644) org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(org.aspectj.lang.JoinPoint, org.aspectj.weaver.tools.JoinPointMatch, java.lang.Object, java.lang.Throwable) (line: 633) org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(org.aopalliance.intercept.MethodInvocation) (line: 70) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(org.aopalliance.intercept.MethodInvocation) (line: 73) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(org.aopalliance.intercept.MethodInvocation) (line: 92) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[ ], org.springframework.cglib.proxy.MethodProxy) (line: 688) com.demo.controller.DemoController$$EnhancerBySpringCGLIB$$c5e725f8.listByUser(com.demo.commons.po.vo.Param) com.demo.controller.DemoController$$FastClassBySpringCGLIB$$4b2c5819.invoke(int, java.lang.Object, java.lang.Object[ ]) org.springframework.cglib.proxy.MethodProxy.invoke(java.lang.Object, java.lang.Object[ ]) (line: 204) org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint() (line: 746) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 163) com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(org.aopalliance.intercept.MethodInvocation) (line: 73) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 185) org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[ ], org.springframework.cglib.proxy.MethodProxy) (line: 688) com.demo.controller.DemoController$$EnhancerBySpringCGLIB$$a19b89b8.listByUser(com.demo.commons.po.vo.Param) sun.reflect.GeneratedMethodAccessor216.invoke(java.lang.Object, java.lang.Object[ ]) sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[ ]) java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[ ]) org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(java.lang.Object[ ]) (line: 209) org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(org.springframework.web.context.request.NativeWebRequest, org.springframework.web.method.support.ModelAndViewContainer, java.lang.Object[ ]) (line: 136) org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(org.springframework.web.context.request.ServletWebRequest, org.springframework.web.method.support.ModelAndViewContainer, java.lang.Object[ ]) (line: 102) org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, org.springframework.web.method.HandlerMethod) (line: 891) org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, org.springframework.web.method.HandlerMethod) (line: 797) org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.Object) (line: 87) org.springframework.web.servlet.DispatcherServlet.doDispatch(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) (line: 991) org.springframework.web.servlet.DispatcherServlet.doService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) (line: 925) org.springframework.web.servlet.FrameworkServlet.processRequest(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) (line: 981) org.springframework.web.servlet.FrameworkServlet.doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) (line: 884) javax.servlet.http.HttpServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) (line: 707) org.springframework.web.servlet.FrameworkServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) (line: 858) javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse) (line: 790) io.undertow.servlet.handlers.ServletHandler.handleRequest(io.undertow.server.HttpServerExchange) (line: 74) io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) (line: 129) com.alibaba.druid.support.http.WebStatFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) (line: 124) io.undertow.servlet.core.ManagedFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) (line: 61) io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) (line: 131) org.springframework.boot.actuate.web.trace.servlet.HttpTraceFilter.doFilterInternal(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) (line: 90) org.springframework.web.filter.OncePerRequestFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) (line: 107) io.undertow.servlet.core.ManagedFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) (line: 61) io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) (line: 131) org.springframework.web.filter.RequestContextFilter.doFilterInternal(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) (line: 99) org.springframework.web.filter.OncePerRequestFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) (line: 107) io.undertow.servlet.core.ManagedFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) (line: 61) io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) (line: 131) org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) (line: 109) org.springframework.web.filter.OncePerRequestFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) (line: 107) io.undertow.servlet.core.ManagedFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) (line: 61) io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) (line: 131) org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) (line: 93) org.springframework.web.filter.OncePerRequestFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) (line: 107) io.undertow.servlet.core.ManagedFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) (line: 61) io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) (line: 131) org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.filterAndRecordMetrics(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) (line: 117) org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) (line: 106) org.springframework.web.filter.OncePerRequestFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) (line: 107) io.undertow.servlet.core.ManagedFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) (line: 61) io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) (line: 131) org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) (line: 200) org.springframework.web.filter.OncePerRequestFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) (line: 107) io.undertow.servlet.core.ManagedFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) (line: 61) io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) (line: 131) io.undertow.servlet.handlers.FilterHandler.handleRequest(io.undertow.server.HttpServerExchange) (line: 84) io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(io.undertow.server.HttpServerExchange) (line: 62) io.undertow.servlet.handlers.ServletChain$1.handleRequest(io.undertow.server.HttpServerExchange) (line: 65) io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(io.undertow.server.HttpServerExchange) (line: 36) io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(io.undertow.server.HttpServerExchange) (line: 132) io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(io.undertow.server.HttpServerExchange) (line: 57) io.undertow.server.handlers.PredicateHandler.handleRequest(io.undertow.server.HttpServerExchange) (line: 43) io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(io.undertow.server.HttpServerExchange) (line: 46) io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(io.undertow.server.HttpServerExchange) (line: 64) io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(io.undertow.server.HttpServerExchange) (line: 60) io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(io.undertow.server.HttpServerExchange) (line: 77) io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(io.undertow.server.HttpServerExchange) (line: 43) io.undertow.server.handlers.PredicateHandler.handleRequest(io.undertow.server.HttpServerExchange) (line: 43) io.undertow.server.handlers.PredicateHandler.handleRequest(io.undertow.server.HttpServerExchange) (line: 43) io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(io.undertow.server.HttpServerExchange, io.undertow.servlet.handlers.ServletRequestContext) (line: 292) io.undertow.servlet.handlers.ServletInitialHandler.access$100(io.undertow.servlet.handlers.ServletInitialHandler, io.undertow.server.HttpServerExchange, io.undertow.servlet.handlers.ServletRequestContext) (line: 81) io.undertow.servlet.handlers.ServletInitialHandler$2.call(io.undertow.server.HttpServerExchange, io.undertow.servlet.handlers.ServletRequestContext) (line: 138) io.undertow.servlet.handlers.ServletInitialHandler$2.call(io.undertow.server.HttpServerExchange, java.lang.Object) (line: 135) io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(io.undertow.server.HttpServerExchange, java.lang.Object) (line: 48) io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(io.undertow.server.HttpServerExchange, java.lang.Object) (line: 43) io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(io.undertow.server.HttpServerExchange, io.undertow.servlet.handlers.ServletRequestContext, io.undertow.servlet.handlers.ServletChain, javax.servlet.DispatcherType) (line: 272) io.undertow.servlet.handlers.ServletInitialHandler.access$000(io.undertow.servlet.handlers.ServletInitialHandler, io.undertow.server.HttpServerExchange, io.undertow.servlet.handlers.ServletRequestContext, io.undertow.servlet.handlers.ServletChain, javax.servlet.DispatcherType) (line: 81) io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(io.undertow.server.HttpServerExchange) (line: 104) io.undertow.server.Connectors.executeRootHandler(io.undertow.server.HttpHandler, io.undertow.server.HttpServerExchange) (line: 336) io.undertow.server.HttpServerExchange$1.run() (line: 830) java.util.concurrent.ThreadPoolExecutor.runWorker(java.util.concurrent.ThreadPoolExecutor$Worker) java.util.concurrent.ThreadPoolExecutor$Worker.run() java.lang.Thread.run()

YanziQii commented 2 months ago

i set spring.redis.jedis.pool.max-active=8 spring.redis.jedis.pool.max-wait=5000 and 2000 request/scond, it was OK. but only set spring.redis.jedis.pool.max-wait=5000: It will also error due to blocking,Why doesn't it release after timing out?