From 855f1affd9fd8847937c937ab0beccd4eee38509 Mon Sep 17 00:00:00 2001 From: super <2903208875@qq.com> Date: Thu, 2 Apr 2026 01:15:50 +0800 Subject: [PATCH] =?UTF-8?q?=E7=B4=AB=E9=B8=9F=E6=9F=A5=E8=AF=A2=E5=BA=97?= =?UTF-8?q?=E9=93=BA=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- aiimage-backend.log | 34492 ---------------- .../aiimage-backend.log.2026-03-26.0.gz | Bin 94957 -> 0 bytes .../aiimage-backend.log.2026-03-27.0.gz | Bin 36388 -> 0 bytes .../aiimage-backend.log.2026-03-28.0.gz | Bin 291149 -> 0 bytes ...ackend.log.2026-03-28.0258380216510400.tmp | 4449 -- .../aiimage-backend.log.2026-03-29.0.gz | Bin 30012 -> 0 bytes .../aiimage-backend.log.2026-03-30.0.gz | Bin 37214 -> 0 bytes .../aiimage-backend.log.2026-03-31.0.gz | Bin 19440 -> 0 bytes .../aiimage/config/ZiniaoProperties.java | 21 + .../model/vo/DeleteBrandResultItemVo.java | 6 + .../model/vo/DeleteBrandTaskDetailVo.java | 6 + .../service/DeleteBrandRunService.java | 142 +- .../shopkey/service/ShopKeyService.java | 15 + .../controller/ZiniaoAuthController.java | 9 + .../service/ZiniaoMemoryStoreService.java | 44 + .../model/cache/ZiniaoShopIndexEntryDto.java | 24 + .../ZiniaoShopIndexRefreshCursorDto.java | 18 + .../model/vo/ZiniaoShopMatchResultVo.java | 6 + .../ziniao/service/ZiniaoAuthService.java | 58 + .../ZiniaoShopIndexRefreshService.java | 23 + .../service/ZiniaoShopIndexService.java | 414 + .../service/ZiniaoShopSwitchService.java | 28 +- .../src/main/resources/application.yml | 8 +- .../brand/components/BrandDeleteBrandTab.vue | 116 +- frontend-vue/src/shared/api/java-modules.ts | 4 + 25 files changed, 891 insertions(+), 38992 deletions(-) delete mode 100644 aiimage-backend.log delete mode 100644 backend-java/aiimage-backend.log.2026-03-26.0.gz delete mode 100644 backend-java/aiimage-backend.log.2026-03-27.0.gz delete mode 100644 backend-java/aiimage-backend.log.2026-03-28.0.gz delete mode 100644 backend-java/aiimage-backend.log.2026-03-28.0258380216510400.tmp delete mode 100644 backend-java/aiimage-backend.log.2026-03-29.0.gz delete mode 100644 backend-java/aiimage-backend.log.2026-03-30.0.gz delete mode 100644 backend-java/aiimage-backend.log.2026-03-31.0.gz create mode 100644 backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/model/cache/ZiniaoShopIndexEntryDto.java create mode 100644 backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/model/cache/ZiniaoShopIndexRefreshCursorDto.java create mode 100644 backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/service/ZiniaoShopIndexRefreshService.java create mode 100644 backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/service/ZiniaoShopIndexService.java diff --git a/aiimage-backend.log b/aiimage-backend.log deleted file mode 100644 index 207aefe..0000000 --- a/aiimage-backend.log +++ /dev/null @@ -1,34492 +0,0 @@ -2026-04-01 00:00:00.048 [scheduling-1] INFO c.n.a.m.t.s.ModuleHistoryCleanupService - 模块历史清理完成: moduleTypes=[DEDUPE, SPLIT, CONVERT, DELETE_BRAND], deletedResults=102, resetTasks=119, deletedTasks=119 -2026-04-01 00:00:00.137 [scheduling-1] INFO c.n.a.m.f.s.LocalTempCleanupService - 本地临时目录清理完成: sourceDeleted=32, resultDeleted=162, tempDir=/app/testJava/tmp -2026-04-01 00:45:51.438 [http-nio-18080-exec-10] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource ip. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 04:07:23.577 [http-nio-18080-exec-7] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource status/200. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 04:51:48.388 [http-nio-18080-exec-9] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource . - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 05:07:54.752 [http-nio-18080-exec-6] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource . - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 05:10:53.984 [http-nio-18080-exec-2] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource . - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 05:10:59.757 [http-nio-18080-exec-1] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource favicon.ico. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 05:11:45.878 [http-nio-18080-exec-3] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource login. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 05:11:50.475 [http-nio-18080-exec-6] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource favicon.ico. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 05:11:55.430 [http-nio-18080-exec-7] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource 97is2j04a1n. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 05:11:59.799 [http-nio-18080-exec-10] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource favicon.ico. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 05:34:27.037 [http-nio-18080-exec-5] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource . - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 06:00:00.059 [scheduling-1] INFO c.n.a.m.f.s.LocalTempCleanupService - 本地临时目录清理完成: sourceDeleted=10, resultDeleted=0, tempDir=/app/testJava/tmp -2026-04-01 07:52:29.163 [http-nio-18080-exec-4] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource . - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 10:33:22.844 [http-nio-18080-exec-3] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource . - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 10:33:33.408 [http-nio-18080-exec-8] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource . - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 10:33:37.416 [http-nio-18080-exec-10] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource favicon.ico. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 10:33:42.202 [http-nio-18080-exec-1] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource security.txt. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 10:33:43.096 [http-nio-18080-exec-3] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource favicon.ico. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 10:33:45.674 [http-nio-18080-exec-6] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource 13lv_42fg1v. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 10:33:46.556 [http-nio-18080-exec-7] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource favicon.ico. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 11:04:49.029 [http-nio-18080-exec-2] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'user_id' for method parameter type Long is not present - at org.springframework.web.method.annotation.RequestParamMethodArgumentResolver.handleMissingValueInternal(RequestParamMethodArgumentResolver.java:220) - at org.springframework.web.method.annotation.RequestParamMethodArgumentResolver.handleMissingValue(RequestParamMethodArgumentResolver.java:196) - at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.resolveArgument(AbstractNamedValueMethodArgumentResolver.java:125) - at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:122) - at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:224) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:178) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 11:04:50.744 [http-nio-18080-exec-5] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'user_id' for method parameter type Long is not present - at org.springframework.web.method.annotation.RequestParamMethodArgumentResolver.handleMissingValueInternal(RequestParamMethodArgumentResolver.java:220) - at org.springframework.web.method.annotation.RequestParamMethodArgumentResolver.handleMissingValue(RequestParamMethodArgumentResolver.java:196) - at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.resolveArgument(AbstractNamedValueMethodArgumentResolver.java:125) - at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:122) - at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:224) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:178) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 12:00:00.016 [scheduling-1] INFO c.n.a.m.f.s.LocalTempCleanupService - 本地临时目录清理完成: sourceDeleted=8, resultDeleted=111, tempDir=/app/testJava/tmp -2026-04-01 12:46:42.182 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] cache miss, requesting upstream, keyHash=6b365ddb7282 -2026-04-01 12:46:42.509 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697 -2026-04-01 12:46:42.535 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697 -2026-04-01 12:46:42.866 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, size=28 -2026-04-01 12:46:42.871 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17661276253024 -2026-04-01 12:46:43.097 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17640557016484 -2026-04-01 12:46:43.312 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17677081173068 -2026-04-01 12:46:43.564 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17666514978137 -2026-04-01 12:46:43.827 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17732777563885 -2026-04-01 12:46:44.044 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730206862305 -2026-04-01 12:46:44.343 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17643173839601 -2026-04-01 12:46:44.555 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17699988687631 -2026-04-01 12:46:44.776 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17718558697861 -2026-04-01 12:46:45.021 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17620011435996 -2026-04-01 12:46:45.369 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17620011435996, size=11 -2026-04-01 12:46:45.386 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774727505 -2026-04-01 12:46:45.751 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774727505, size=9 -2026-04-01 12:46:45.769 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729660106470 -2026-04-01 12:46:46.134 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729660106470, size=11 -2026-04-01 12:46:46.151 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730460291664 -2026-04-01 12:46:46.547 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730460291664, size=11 -2026-04-01 12:46:46.564 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17635465811898 -2026-04-01 12:46:46.933 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17635465811898, size=0 -2026-04-01 12:46:46.951 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17748610992756 -2026-04-01 12:46:47.312 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17748610992756, size=11 -2026-04-01 12:46:47.329 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17724161646108 -2026-04-01 12:46:47.675 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17724161646108, size=11 -2026-04-01 12:46:47.692 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639770836314 -2026-04-01 12:46:48.068 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639770836314, size=9 -2026-04-01 12:46:48.085 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774271474 -2026-04-01 12:46:48.445 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774271474, size=9 -2026-04-01 12:46:48.462 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771328771 -2026-04-01 12:46:48.842 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771328771, size=9 -2026-04-01 12:46:48.859 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771647243 -2026-04-01 12:46:49.245 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771647243, size=9 -2026-04-01 12:46:49.262 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772118514 -2026-04-01 12:46:49.700 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772118514, size=9 -2026-04-01 12:46:49.717 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772482271 -2026-04-01 12:46:50.084 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772482271, size=9 -2026-04-01 12:46:50.101 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772877215 -2026-04-01 12:46:50.472 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772877215, size=9 -2026-04-01 12:46:50.490 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773272476 -2026-04-01 12:46:50.870 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773272476, size=9 -2026-04-01 12:46:50.887 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773635592 -2026-04-01 12:46:51.264 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773635592, size=9 -2026-04-01 12:46:51.281 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773959266 -2026-04-01 12:46:51.646 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773959266, size=9 -2026-04-01 12:46:51.664 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729566998491 -2026-04-01 12:46:52.092 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729566998491, size=11 -2026-04-01 12:46:52.114 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17669217644226 -2026-04-01 12:46:52.468 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17669217644226, size=9 -2026-04-01 12:46:52.484 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] cache miss, requesting upstream, keyHash=e4ade5d7ed7e -2026-04-01 12:46:52.632 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] cached upstream result, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-04-01 12:46:52.667 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-04-01 12:46:52.990 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cached upstream result, keyHash=e4ade5d7ed7e, companyId=17543915349961, size=22 -2026-04-01 12:46:52.994 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17719218431526 -2026-04-01 12:46:53.218 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17633627241792 -2026-04-01 12:46:53.432 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17549810616820 -2026-04-01 12:46:53.665 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17550861697817 -2026-04-01 12:46:53.897 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17572485086466 -2026-04-01 12:46:54.152 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17620718352236 -2026-04-01 12:46:54.374 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17573395442422 -2026-04-01 12:46:54.581 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543971161848 -2026-04-01 12:46:54.822 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17676840392758 -2026-04-01 12:46:55.065 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543973861944 -2026-04-01 12:46:55.310 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17613993013398 -2026-04-01 12:46:55.598 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543915345493 -2026-04-01 12:46:55.962 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543915345493, size=4 -2026-04-01 12:46:55.962 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] matched via upstream scan, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=郭亚芳, shopId=27730548558377, userId=17543915345493 -2026-04-01 12:48:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 12:50:30.042 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 12:52:30.042 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 12:52:57.844 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=6b365ddb7282, companyId=17620011426697 -2026-04-01 12:52:57.856 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, size=28 -2026-04-01 12:52:57.861 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17661276253024 -2026-04-01 12:52:58.286 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17640557016484 -2026-04-01 12:52:58.527 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17677081173068 -2026-04-01 12:52:58.791 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17666514978137 -2026-04-01 12:52:59.038 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17732777563885 -2026-04-01 12:52:59.254 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730206862305 -2026-04-01 12:52:59.546 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17643173839601 -2026-04-01 12:52:59.810 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17699988687631 -2026-04-01 12:53:00.059 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17718558697861 -2026-04-01 12:53:00.416 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17620011435996, size=11 -2026-04-01 12:53:00.420 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774727505, size=9 -2026-04-01 12:53:00.425 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729660106470, size=11 -2026-04-01 12:53:00.429 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730460291664, size=11 -2026-04-01 12:53:00.433 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17635465811898, size=0 -2026-04-01 12:53:00.438 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17748610992756, size=11 -2026-04-01 12:53:00.443 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17724161646108, size=11 -2026-04-01 12:53:00.447 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639770836314, size=9 -2026-04-01 12:53:00.451 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774271474, size=9 -2026-04-01 12:53:00.455 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771328771, size=9 -2026-04-01 12:53:00.460 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771647243, size=9 -2026-04-01 12:53:00.464 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772118514, size=9 -2026-04-01 12:53:00.468 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772482271, size=9 -2026-04-01 12:53:00.472 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772877215, size=9 -2026-04-01 12:53:00.477 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773272476, size=9 -2026-04-01 12:53:00.482 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773635592, size=9 -2026-04-01 12:53:00.486 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773959266, size=9 -2026-04-01 12:53:00.490 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729566998491, size=11 -2026-04-01 12:53:00.495 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17669217644226, size=9 -2026-04-01 12:53:00.499 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-04-01 12:53:00.544 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] hit shop-match cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=郭亚芳, shopId=27730548558377, userId=17543915345493 -2026-04-01 12:53:53.875 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=6b365ddb7282, companyId=17620011426697 -2026-04-01 12:53:53.885 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, size=28 -2026-04-01 12:53:53.890 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17661276253024 -2026-04-01 12:53:54.249 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17640557016484 -2026-04-01 12:53:54.490 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17677081173068 -2026-04-01 12:53:54.746 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17666514978137 -2026-04-01 12:53:55.107 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17732777563885 -2026-04-01 12:53:55.347 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730206862305 -2026-04-01 12:53:55.609 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17643173839601 -2026-04-01 12:53:55.870 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17699988687631 -2026-04-01 12:53:56.102 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17718558697861 -2026-04-01 12:53:56.365 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17620011435996, size=11 -2026-04-01 12:53:56.370 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774727505, size=9 -2026-04-01 12:53:56.374 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729660106470, size=11 -2026-04-01 12:53:56.379 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730460291664, size=11 -2026-04-01 12:53:56.384 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17635465811898, size=0 -2026-04-01 12:53:56.388 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17748610992756, size=11 -2026-04-01 12:53:56.393 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17724161646108, size=11 -2026-04-01 12:53:56.397 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639770836314, size=9 -2026-04-01 12:53:56.402 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774271474, size=9 -2026-04-01 12:53:56.406 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771328771, size=9 -2026-04-01 12:53:56.411 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771647243, size=9 -2026-04-01 12:53:56.416 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772118514, size=9 -2026-04-01 12:53:56.421 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772482271, size=9 -2026-04-01 12:53:56.425 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772877215, size=9 -2026-04-01 12:53:56.430 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773272476, size=9 -2026-04-01 12:53:56.435 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773635592, size=9 -2026-04-01 12:53:56.439 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773959266, size=9 -2026-04-01 12:53:56.444 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729566998491, size=11 -2026-04-01 12:53:56.448 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17669217644226, size=9 -2026-04-01 12:53:56.452 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-04-01 12:53:56.456 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] hit shop-match cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=郭亚芳, shopId=27730548558377, userId=17543915345493 -2026-04-01 12:54:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 12:54:30.078 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 12:54:30.111 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 12:55:38.382 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=6b365ddb7282, companyId=17620011426697 -2026-04-01 12:55:38.392 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, size=28 -2026-04-01 12:55:38.397 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17661276253024 -2026-04-01 12:55:38.780 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17640557016484 -2026-04-01 12:55:39.002 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17677081173068 -2026-04-01 12:55:39.221 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17666514978137 -2026-04-01 12:55:39.478 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17732777563885 -2026-04-01 12:55:39.703 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730206862305 -2026-04-01 12:55:39.962 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17643173839601 -2026-04-01 12:55:40.203 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17699988687631 -2026-04-01 12:55:40.420 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17718558697861 -2026-04-01 12:55:40.664 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17620011435996, size=11 -2026-04-01 12:55:40.669 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774727505, size=9 -2026-04-01 12:55:40.673 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729660106470, size=11 -2026-04-01 12:55:40.677 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730460291664, size=11 -2026-04-01 12:55:40.682 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17635465811898, size=0 -2026-04-01 12:55:40.686 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17748610992756, size=11 -2026-04-01 12:55:40.690 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17724161646108, size=11 -2026-04-01 12:55:40.694 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639770836314, size=9 -2026-04-01 12:55:40.699 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774271474, size=9 -2026-04-01 12:55:40.703 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771328771, size=9 -2026-04-01 12:55:40.708 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771647243, size=9 -2026-04-01 12:55:40.712 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772118514, size=9 -2026-04-01 12:55:40.716 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772482271, size=9 -2026-04-01 12:55:40.721 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772877215, size=9 -2026-04-01 12:55:40.725 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773272476, size=9 -2026-04-01 12:55:40.730 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773635592, size=9 -2026-04-01 12:55:40.734 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773959266, size=9 -2026-04-01 12:55:40.739 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729566998491, size=11 -2026-04-01 12:55:40.743 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17669217644226, size=9 -2026-04-01 12:55:40.747 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-04-01 12:55:40.751 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] hit shop-match cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=郭亚芳, shopId=27730548558377, userId=17543915345493 -2026-04-01 12:56:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 12:56:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 12:56:30.112 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 12:56:30.146 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 12:58:30.048 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 12:58:30.081 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 12:58:30.114 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 12:58:30.148 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:00:25.659 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=6b365ddb7282, companyId=17620011426697 -2026-04-01 13:00:25.669 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, size=28 -2026-04-01 13:00:25.673 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17661276253024 -2026-04-01 13:00:26.117 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17640557016484 -2026-04-01 13:00:26.344 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17677081173068 -2026-04-01 13:00:26.588 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17666514978137 -2026-04-01 13:00:26.840 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17732777563885 -2026-04-01 13:00:27.207 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730206862305 -2026-04-01 13:00:27.534 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17643173839601 -2026-04-01 13:00:27.752 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17699988687631 -2026-04-01 13:00:28.075 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17718558697861 -2026-04-01 13:00:28.323 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17620011435996, size=11 -2026-04-01 13:00:28.328 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774727505, size=9 -2026-04-01 13:00:28.333 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729660106470, size=11 -2026-04-01 13:00:28.337 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730460291664, size=11 -2026-04-01 13:00:28.342 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17635465811898, size=0 -2026-04-01 13:00:28.347 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17748610992756, size=11 -2026-04-01 13:00:28.352 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17724161646108, size=11 -2026-04-01 13:00:28.356 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639770836314, size=9 -2026-04-01 13:00:28.360 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774271474, size=9 -2026-04-01 13:00:28.365 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771328771, size=9 -2026-04-01 13:00:28.369 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771647243, size=9 -2026-04-01 13:00:28.374 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772118514, size=9 -2026-04-01 13:00:28.378 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772482271, size=9 -2026-04-01 13:00:28.383 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772877215, size=9 -2026-04-01 13:00:28.387 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773272476, size=9 -2026-04-01 13:00:28.391 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773635592, size=9 -2026-04-01 13:00:28.396 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773959266, size=9 -2026-04-01 13:00:28.400 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729566998491, size=11 -2026-04-01 13:00:28.405 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17669217644226, size=9 -2026-04-01 13:00:28.409 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-04-01 13:00:28.413 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] hit shop-match cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=郭亚芳, shopId=27730548558377, userId=17543915345493 -2026-04-01 13:00:30.043 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:00:30.077 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:00:30.110 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:00:30.143 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:00:30.178 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:02:30.042 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:02:30.076 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:02:30.109 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:02:30.144 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:02:30.177 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:02:33.465 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=6b365ddb7282, companyId=17620011426697 -2026-04-01 13:02:33.475 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, size=28 -2026-04-01 13:02:33.480 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17661276253024 -2026-04-01 13:02:33.827 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17640557016484 -2026-04-01 13:02:34.048 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17677081173068 -2026-04-01 13:02:34.275 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17666514978137 -2026-04-01 13:02:34.499 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17732777563885 -2026-04-01 13:02:34.738 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730206862305 -2026-04-01 13:02:34.966 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17643173839601 -2026-04-01 13:02:35.374 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17699988687631 -2026-04-01 13:02:35.588 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17718558697861 -2026-04-01 13:02:35.814 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17620011435996, size=11 -2026-04-01 13:02:35.819 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774727505, size=9 -2026-04-01 13:02:35.824 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729660106470, size=11 -2026-04-01 13:02:35.828 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730460291664, size=11 -2026-04-01 13:02:35.832 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17635465811898, size=0 -2026-04-01 13:02:35.837 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17748610992756, size=11 -2026-04-01 13:02:35.841 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17724161646108, size=11 -2026-04-01 13:02:35.845 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639770836314, size=9 -2026-04-01 13:02:35.850 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774271474, size=9 -2026-04-01 13:02:35.854 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771328771, size=9 -2026-04-01 13:02:35.859 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771647243, size=9 -2026-04-01 13:02:35.863 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772118514, size=9 -2026-04-01 13:02:35.870 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772482271, size=9 -2026-04-01 13:02:35.875 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772877215, size=9 -2026-04-01 13:02:35.879 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773272476, size=9 -2026-04-01 13:02:35.883 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773635592, size=9 -2026-04-01 13:02:35.888 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773959266, size=9 -2026-04-01 13:02:35.892 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729566998491, size=11 -2026-04-01 13:02:35.896 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17669217644226, size=9 -2026-04-01 13:02:35.901 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-04-01 13:02:35.905 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] hit shop-match cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=郭亚芳, shopId=27730548558377, userId=17543915345493 -2026-04-01 13:04:22.097 [http-nio-18080-exec-4] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource newApi/api/delete-brand/tasks/687/result. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 13:04:30.051 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:04:30.084 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:04:30.119 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:04:30.153 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:04:30.186 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:04:30.220 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:05:37.605 [http-nio-18080-exec-7] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource newApi/api/delete-brand/tasks/687/result. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 13:06:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:06:30.080 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:06:30.113 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:06:30.149 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:06:30.183 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:06:30.216 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:08:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:08:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:08:30.113 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:08:30.147 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:08:30.181 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:08:30.214 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:10:30.048 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:10:30.081 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:10:30.114 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:10:30.148 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:10:30.181 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:10:30.218 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:12:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:12:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:12:30.112 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:12:30.146 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:12:30.179 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:12:30.212 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:14:30.043 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:14:30.077 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:14:30.110 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:14:30.144 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:14:30.178 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:14:30.210 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:16:30.049 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:16:30.084 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:16:30.118 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:16:30.152 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:16:30.186 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:16:30.220 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:18:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:18:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:18:30.113 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:18:30.148 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:18:30.183 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:18:30.221 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:20:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:20:30.080 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:20:30.114 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:20:30.149 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:20:30.183 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:20:30.217 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:22:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:22:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:22:30.113 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:22:30.147 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:22:30.181 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:22:30.215 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:24:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:24:30.080 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:24:30.114 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:24:30.149 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:24:30.183 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:24:30.217 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:26:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:26:30.080 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:26:30.114 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:26:30.148 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:26:30.182 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:26:30.216 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:28:30.052 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:28:30.086 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:28:30.120 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:28:30.154 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:28:30.188 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:28:30.222 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:30:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:30:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:30:30.113 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:30:30.147 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:30:30.181 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:30:30.215 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:32:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:32:30.080 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:32:30.114 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:32:30.150 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:32:30.184 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:32:30.218 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:34:30.049 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:34:30.083 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:34:30.118 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:34:30.152 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:34:30.186 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:34:30.221 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:36:30.044 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:36:30.080 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:36:30.114 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:36:30.150 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:36:30.184 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:36:30.218 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:38:30.044 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:38:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:38:30.114 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:38:30.149 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:38:30.183 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:38:30.217 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:40:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:40:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:40:30.113 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:40:30.147 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:40:30.180 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:40:30.213 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:42:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:42:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:42:30.112 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:42:30.147 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:42:30.180 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:42:30.213 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:44:30.049 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:44:30.083 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:44:30.116 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:44:30.150 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:44:30.186 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:44:30.220 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:46:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:46:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:46:30.113 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:46:30.146 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:46:30.180 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:46:30.213 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:48:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:48:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:48:30.113 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:48:30.147 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:48:30.181 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:48:30.214 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:50:30.049 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:50:30.082 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:50:30.116 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:50:30.150 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:50:30.184 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:50:30.217 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:52:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:52:30.080 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:52:30.113 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:52:30.162 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:52:30.196 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:52:30.230 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:54:30.054 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:54:30.089 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:54:30.127 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:54:30.169 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:54:30.202 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:54:30.237 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:56:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:56:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:56:30.111 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:56:30.144 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:56:30.177 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:56:30.211 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:58:30.043 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:58:30.076 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:58:30.109 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:58:30.143 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:58:30.176 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 13:58:30.208 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:00:30.043 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:00:30.076 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:00:30.109 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:00:30.141 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:00:30.173 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:00:30.206 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:02:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:02:30.080 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:02:30.112 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:02:30.145 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:02:30.178 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:02:30.212 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:04:30.043 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:04:30.076 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:04:30.109 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:04:30.142 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:04:30.174 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:04:30.208 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:04:51.580 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=6b365ddb7282, companyId=17620011426697 -2026-04-01 14:04:51.602 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697 -2026-04-01 14:04:52.118 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, size=28 -2026-04-01 14:04:52.122 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17661276253024 -2026-04-01 14:04:52.352 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17640557016484 -2026-04-01 14:04:52.598 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17677081173068 -2026-04-01 14:04:52.856 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17666514978137 -2026-04-01 14:04:53.098 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17732777563885 -2026-04-01 14:04:53.318 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730206862305 -2026-04-01 14:04:53.562 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17643173839601 -2026-04-01 14:04:53.795 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17699988687631 -2026-04-01 14:04:54.022 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17718558697861 -2026-04-01 14:04:54.259 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17620011435996 -2026-04-01 14:04:54.700 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17620011435996, size=11 -2026-04-01 14:04:54.718 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774727505 -2026-04-01 14:04:55.087 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774727505, size=9 -2026-04-01 14:04:55.106 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729660106470 -2026-04-01 14:04:55.567 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729660106470, size=11 -2026-04-01 14:04:55.585 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730460291664 -2026-04-01 14:04:56.011 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730460291664, size=11 -2026-04-01 14:04:56.028 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17635465811898 -2026-04-01 14:04:56.397 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17635465811898, size=0 -2026-04-01 14:04:56.415 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17748610992756 -2026-04-01 14:04:56.840 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17748610992756, size=11 -2026-04-01 14:04:56.857 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17724161646108 -2026-04-01 14:04:57.266 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17724161646108, size=11 -2026-04-01 14:04:57.283 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639770836314 -2026-04-01 14:04:57.690 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639770836314, size=9 -2026-04-01 14:04:57.707 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774271474 -2026-04-01 14:04:58.066 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774271474, size=9 -2026-04-01 14:04:58.084 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771328771 -2026-04-01 14:04:58.523 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771328771, size=9 -2026-04-01 14:04:58.541 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771647243 -2026-04-01 14:04:59.081 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771647243, size=9 -2026-04-01 14:04:59.098 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772118514 -2026-04-01 14:04:59.459 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772118514, size=9 -2026-04-01 14:04:59.477 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772482271 -2026-04-01 14:04:59.904 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772482271, size=9 -2026-04-01 14:04:59.925 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772877215 -2026-04-01 14:05:00.316 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772877215, size=9 -2026-04-01 14:05:00.334 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773272476 -2026-04-01 14:05:00.725 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773272476, size=9 -2026-04-01 14:05:00.743 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773635592 -2026-04-01 14:05:01.126 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773635592, size=9 -2026-04-01 14:05:01.144 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773959266 -2026-04-01 14:05:01.515 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773959266, size=9 -2026-04-01 14:05:01.532 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729566998491 -2026-04-01 14:05:01.917 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729566998491, size=11 -2026-04-01 14:05:01.936 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17669217644226 -2026-04-01 14:05:02.360 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17669217644226, size=9 -2026-04-01 14:05:02.365 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-04-01 14:05:02.407 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-04-01 14:05:02.770 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cached upstream result, keyHash=e4ade5d7ed7e, companyId=17543915349961, size=22 -2026-04-01 14:05:02.775 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17719218431526 -2026-04-01 14:05:03.032 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17633627241792 -2026-04-01 14:05:03.272 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17549810616820 -2026-04-01 14:05:03.493 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17550861697817 -2026-04-01 14:05:03.716 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17572485086466 -2026-04-01 14:05:03.975 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17620718352236 -2026-04-01 14:05:04.230 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17573395442422 -2026-04-01 14:05:04.529 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543971161848 -2026-04-01 14:05:04.755 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17676840392758 -2026-04-01 14:05:04.985 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543973861944 -2026-04-01 14:05:05.209 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17613993013398 -2026-04-01 14:05:05.456 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543915345493 -2026-04-01 14:05:05.833 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543915345493, size=4 -2026-04-01 14:05:05.834 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] matched via upstream scan, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=郭亚芳, shopId=27730548558377, userId=17543915345493 -2026-04-01 14:06:01.098 [http-nio-18080-exec-9] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource newApi/api/delete-brand/tasks/702/result. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 14:06:25.344 [http-nio-18080-exec-3] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource newApi/api/delete-brand/tasks/702/result. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 14:06:30.042 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:06:30.076 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:06:30.109 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:06:30.141 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:06:30.174 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:06:30.206 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:06:30.240 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:06:49.464 [http-nio-18080-exec-9] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource newApi/api/delete-brand/tasks/702/result. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 14:07:13.491 [http-nio-18080-exec-3] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource newApi/api/delete-brand/tasks/702/result. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 14:07:37.588 [http-nio-18080-exec-5] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource newApi/api/delete-brand/tasks/702/result. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 14:08:11.985 [http-nio-18080-exec-3] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource newApi/api/delete-brand/tasks/702/result. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 14:08:30.044 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:08:30.077 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:08:30.109 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:08:30.142 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:08:30.175 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:08:30.209 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:08:30.242 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:08:36.264 [http-nio-18080-exec-5] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource newApi/api/delete-brand/tasks/702/result. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 14:09:00.314 [http-nio-18080-exec-6] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource newApi/api/delete-brand/tasks/702/result. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 14:09:35.826 [http-nio-18080-exec-5] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource newApi/api/delete-brand/tasks/702/result. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 14:10:00.291 [http-nio-18080-exec-6] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource newApi/api/delete-brand/tasks/702/result. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 14:10:24.329 [http-nio-18080-exec-10] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource newApi/api/delete-brand/tasks/702/result. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 14:10:30.042 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:10:30.075 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:10:30.107 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:10:30.142 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:10:30.174 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:10:30.206 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:10:30.238 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:10:48.407 [http-nio-18080-exec-9] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource newApi/api/delete-brand/tasks/702/result. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 14:11:22.187 [http-nio-18080-exec-5] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource newApi/api/delete-brand/tasks/702/result. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 14:11:46.197 [http-nio-18080-exec-10] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource newApi/api/delete-brand/tasks/702/result. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 14:12:10.268 [http-nio-18080-exec-3] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource newApi/api/delete-brand/tasks/702/result. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 14:12:30.044 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:12:30.081 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:12:30.115 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:12:30.149 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:12:30.181 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:12:30.214 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:12:30.246 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:12:34.527 [http-nio-18080-exec-8] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource newApi/api/delete-brand/tasks/702/result. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 14:13:10.166 [http-nio-18080-exec-10] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource newApi/api/delete-brand/tasks/702/result. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 14:13:34.258 [http-nio-18080-exec-9] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource newApi/api/delete-brand/tasks/702/result. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 14:13:58.315 [http-nio-18080-exec-7] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource newApi/api/delete-brand/tasks/702/result. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 14:14:22.468 [http-nio-18080-exec-10] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource newApi/api/delete-brand/tasks/702/result. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 14:14:30.047 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:14:30.080 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:14:30.112 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:14:30.146 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:14:30.178 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:14:30.211 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:14:30.244 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:14:46.744 [http-nio-18080-exec-5] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource newApi/api/delete-brand/tasks/702/result. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 14:15:18.288 [http-nio-18080-exec-3] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource newApi/api/delete-brand/tasks/702/result. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 14:16:30.043 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:16:30.075 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:16:30.108 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:16:30.142 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:16:30.175 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:16:30.207 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:16:30.240 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:18:30.042 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:18:30.075 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:18:30.108 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:18:30.141 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:18:30.173 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:18:30.205 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:18:30.239 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:20:30.039 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:20:30.071 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:20:30.104 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:20:30.136 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:20:30.169 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:20:30.201 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:20:30.234 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:22:30.049 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:22:30.082 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:22:30.115 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:22:30.149 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:22:30.181 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:22:30.215 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:22:30.249 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:24:30.043 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:24:30.077 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:24:30.110 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:24:30.143 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:24:30.176 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:24:30.209 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:24:30.242 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:25:00.414 [http-nio-18080-exec-9] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:00.885 [http-nio-18080-exec-8] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:01.383 [http-nio-18080-exec-2] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:02.080 [http-nio-18080-exec-4] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:02.648 [http-nio-18080-exec-7] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:03.171 [http-nio-18080-exec-6] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:03.526 [http-nio-18080-exec-10] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:08.650 [http-nio-18080-exec-2] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:09.211 [http-nio-18080-exec-1] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:09.833 [http-nio-18080-exec-4] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:10.537 [http-nio-18080-exec-9] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:10.851 [http-nio-18080-exec-7] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:12.130 [http-nio-18080-exec-3] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:12.364 [http-nio-18080-exec-6] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:13.902 [http-nio-18080-exec-10] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:17.315 [http-nio-18080-exec-4] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:17.392 [http-nio-18080-exec-2] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:18.335 [http-nio-18080-exec-8] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:18.585 [http-nio-18080-exec-7] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:19.602 [http-nio-18080-exec-3] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:20.547 [http-nio-18080-exec-5] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:21.193 [http-nio-18080-exec-6] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:22.584 [http-nio-18080-exec-1] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:25.662 [http-nio-18080-exec-8] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:25.841 [http-nio-18080-exec-4] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:26.508 [http-nio-18080-exec-7] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:27.233 [http-nio-18080-exec-9] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:28.094 [http-nio-18080-exec-2] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:28.922 [http-nio-18080-exec-5] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:29.565 [http-nio-18080-exec-10] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:31.189 [http-nio-18080-exec-3] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:33.868 [http-nio-18080-exec-1] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:34.628 [http-nio-18080-exec-9] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:35.116 [http-nio-18080-exec-6] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:35.539 [http-nio-18080-exec-2] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:38.525 [http-nio-18080-exec-5] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:38.762 [http-nio-18080-exec-7] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:41.672 [http-nio-18080-exec-1] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceHashCommands.hGetAll(LettuceHashCommands.java:104) - at org.springframework.data.redis.connection.DefaultedRedisConnection.hGetAll(DefaultedRedisConnection.java:1381) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.hGetAll(DefaultStringRedisConnection.java:456) - at org.springframework.data.redis.core.DefaultHashOperations.lambda$entries$18(DefaultHashOperations.java:235) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultHashOperations.entries(DefaultHashOperations.java:235) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getProgress(BrandTaskProgressCacheService.java:82) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.buildLineProgress(BrandTaskService.java:972) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.getTaskDetailLegacy(BrandTaskService.java:146) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.getTaskDetailLegacy() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.getTask(BrandTaskController.java:134) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:42.462 [http-nio-18080-exec-10] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:43.606 [http-nio-18080-exec-8] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:45.847 [http-nio-18080-exec-3] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:46.059 [http-nio-18080-exec-2] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:46.726 [http-nio-18080-exec-5] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:47.216 [http-nio-18080-exec-9] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:51.652 [http-nio-18080-exec-10] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:53.276 [http-nio-18080-exec-6] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:54.312 [http-nio-18080-exec-3] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:56.656 [http-nio-18080-exec-1] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:57.428 [http-nio-18080-exec-4] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:58.242 [http-nio-18080-exec-5] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:25:59.034 [http-nio-18080-exec-9] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:26:00.467 [http-nio-18080-exec-10] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:26:04.434 [http-nio-18080-exec-8] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:26:05.021 [scheduling-1] ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceHashCommands.hGetAll(LettuceHashCommands.java:104) - at org.springframework.data.redis.connection.DefaultedRedisConnection.hGetAll(DefaultedRedisConnection.java:1381) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.hGetAll(DefaultStringRedisConnection.java:456) - at org.springframework.data.redis.core.DefaultHashOperations.lambda$entries$18(DefaultHashOperations.java:235) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultHashOperations.entries(DefaultHashOperations.java:235) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getProgress(BrandTaskProgressCacheService.java:82) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.failStaleRunningTasks(BrandTaskService.java:1054) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) - at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) - at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:379) - at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) - at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.failStaleRunningTasks() - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) - at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) - at io.micrometer.observation.Observation.observe(Observation.java:499) - at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) - at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) - at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 39 common frames omitted -2026-04-01 14:26:05.444 [http-nio-18080-exec-1] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:26:06.783 [http-nio-18080-exec-4] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:26:09.410 [http-nio-18080-exec-6] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:26:09.439 [http-nio-18080-exec-5] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:26:11.675 [http-nio-18080-exec-3] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:26:12.993 [http-nio-18080-exec-2] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:26:13.703 [http-nio-18080-exec-8] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:26:17.881 [http-nio-18080-exec-4] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:26:18.564 [http-nio-18080-exec-6] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:26:31.030 [http-nio-18080-exec-9] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:26:33.149 [http-nio-18080-exec-2] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:26:33.419 [http-nio-18080-exec-10] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:26:37.662 [http-nio-18080-exec-5] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:26:41.606 [http-nio-18080-exec-6] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceHashCommands.hGetAll(LettuceHashCommands.java:104) - at org.springframework.data.redis.connection.DefaultedRedisConnection.hGetAll(DefaultedRedisConnection.java:1381) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.hGetAll(DefaultStringRedisConnection.java:456) - at org.springframework.data.redis.core.DefaultHashOperations.lambda$entries$18(DefaultHashOperations.java:235) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultHashOperations.entries(DefaultHashOperations.java:235) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getProgress(BrandTaskProgressCacheService.java:82) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.buildLineProgress(BrandTaskService.java:972) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.getTaskDetailLegacy(BrandTaskService.java:146) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.getTaskDetailLegacy() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.getTask(BrandTaskController.java:134) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:26:43.684 [http-nio-18080-exec-3] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:26:44.697 [http-nio-18080-exec-9] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:26:44.747 [http-nio-18080-exec-8] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:26:47.256 [http-nio-18080-exec-4] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:26:47.860 [http-nio-18080-exec-10] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:26:51.649 [http-nio-18080-exec-6] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:26:53.902 [http-nio-18080-exec-7] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:26:55.024 [http-nio-18080-exec-9] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:26:55.550 [http-nio-18080-exec-5] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:26:56.632 [http-nio-18080-exec-8] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:26:57.586 [http-nio-18080-exec-4] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:26:58.042 [http-nio-18080-exec-2] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:01.482 [http-nio-18080-exec-1] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:04.065 [http-nio-18080-exec-3] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:05.356 [http-nio-18080-exec-5] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:05.358 [http-nio-18080-exec-6] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:06.410 [http-nio-18080-exec-8] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:07.537 [http-nio-18080-exec-4] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:08.746 [http-nio-18080-exec-10] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:16.191 [http-nio-18080-exec-5] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:16.297 [http-nio-18080-exec-9] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:16.299 [http-nio-18080-exec-6] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:18.160 [http-nio-18080-exec-1] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:18.704 [http-nio-18080-exec-8] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:19.965 [http-nio-18080-exec-7] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:26.845 [http-nio-18080-exec-9] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:27.446 [http-nio-18080-exec-6] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:28.104 [http-nio-18080-exec-3] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:28.378 [http-nio-18080-exec-10] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:29.638 [http-nio-18080-exec-1] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:31.404 [http-nio-18080-exec-2] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:38.721 [http-nio-18080-exec-6] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:39.179 [http-nio-18080-exec-5] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:39.682 [http-nio-18080-exec-3] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:39.762 [http-nio-18080-exec-7] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:39.878 [http-nio-18080-exec-10] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:40.749 [http-nio-18080-exec-4] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:41.619 [http-nio-18080-exec-1] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceHashCommands.hGetAll(LettuceHashCommands.java:104) - at org.springframework.data.redis.connection.DefaultedRedisConnection.hGetAll(DefaultedRedisConnection.java:1381) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.hGetAll(DefaultStringRedisConnection.java:456) - at org.springframework.data.redis.core.DefaultHashOperations.lambda$entries$18(DefaultHashOperations.java:235) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultHashOperations.entries(DefaultHashOperations.java:235) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getProgress(BrandTaskProgressCacheService.java:82) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.buildLineProgress(BrandTaskService.java:972) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.getTaskDetailLegacy(BrandTaskService.java:146) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.getTaskDetailLegacy() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.getTask(BrandTaskController.java:134) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:42.879 [http-nio-18080-exec-9] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:51.168 [http-nio-18080-exec-7] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:52.562 [http-nio-18080-exec-2] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:53.049 [http-nio-18080-exec-10] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:27:55.031 [http-nio-18080-exec-5] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:28:03.745 [http-nio-18080-exec-9] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:28:04.640 [http-nio-18080-exec-6] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:28:04.899 [http-nio-18080-exec-7] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:28:05.013 [scheduling-1] ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceHashCommands.hGetAll(LettuceHashCommands.java:104) - at org.springframework.data.redis.connection.DefaultedRedisConnection.hGetAll(DefaultedRedisConnection.java:1381) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.hGetAll(DefaultStringRedisConnection.java:456) - at org.springframework.data.redis.core.DefaultHashOperations.lambda$entries$18(DefaultHashOperations.java:235) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultHashOperations.entries(DefaultHashOperations.java:235) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getProgress(BrandTaskProgressCacheService.java:82) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.failStaleRunningTasks(BrandTaskService.java:1054) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) - at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) - at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:379) - at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) - at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.failStaleRunningTasks() - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) - at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) - at io.micrometer.observation.Observation.observe(Observation.java:499) - at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) - at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) - at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 39 common frames omitted -2026-04-01 14:28:06.257 [http-nio-18080-exec-4] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:28:07.523 [http-nio-18080-exec-2] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:28:11.613 [http-nio-18080-exec-3] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:28:15.632 [http-nio-18080-exec-8] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:28:15.916 [http-nio-18080-exec-6] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:28:16.160 [http-nio-18080-exec-10] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:28:22.194 [http-nio-18080-exec-2] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:28:23.212 [http-nio-18080-exec-9] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:28:24.058 [http-nio-18080-exec-3] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:28:29.103 [http-nio-18080-exec-6] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:28:32.286 [http-nio-18080-exec-4] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:28:41.602 [http-nio-18080-exec-2] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceHashCommands.hGetAll(LettuceHashCommands.java:104) - at org.springframework.data.redis.connection.DefaultedRedisConnection.hGetAll(DefaultedRedisConnection.java:1381) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.hGetAll(DefaultStringRedisConnection.java:456) - at org.springframework.data.redis.core.DefaultHashOperations.lambda$entries$18(DefaultHashOperations.java:235) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultHashOperations.entries(DefaultHashOperations.java:235) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getProgress(BrandTaskProgressCacheService.java:82) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.buildLineProgress(BrandTaskService.java:972) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.getTaskDetailLegacy(BrandTaskService.java:146) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.getTaskDetailLegacy() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.getTask(BrandTaskController.java:134) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:28:48.026 [http-nio-18080-exec-9] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:28:59.137 [http-nio-18080-exec-3] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:29:03.822 [http-nio-18080-exec-1] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:29:09.903 [http-nio-18080-exec-4] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:29:15.393 [http-nio-18080-exec-2] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:29:18.332 [http-nio-18080-exec-7] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:29:21.721 [http-nio-18080-exec-8] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:29:24.595 [http-nio-18080-exec-6] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:29:26.680 [http-nio-18080-exec-1] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:29:27.110 [http-nio-18080-exec-4] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:29:28.310 [http-nio-18080-exec-5] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:29:31.778 [http-nio-18080-exec-7] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:29:32.289 [http-nio-18080-exec-8] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:29:33.416 [http-nio-18080-exec-6] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:29:34.714 [http-nio-18080-exec-2] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:29:37.236 [http-nio-18080-exec-9] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:29:38.388 [http-nio-18080-exec-3] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:29:39.878 [http-nio-18080-exec-7] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:29:40.333 [http-nio-18080-exec-1] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:29:41.601 [http-nio-18080-exec-8] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceHashCommands.hGetAll(LettuceHashCommands.java:104) - at org.springframework.data.redis.connection.DefaultedRedisConnection.hGetAll(DefaultedRedisConnection.java:1381) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.hGetAll(DefaultStringRedisConnection.java:456) - at org.springframework.data.redis.core.DefaultHashOperations.lambda$entries$18(DefaultHashOperations.java:235) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultHashOperations.entries(DefaultHashOperations.java:235) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getProgress(BrandTaskProgressCacheService.java:82) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.buildLineProgress(BrandTaskService.java:972) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.getTaskDetailLegacy(BrandTaskService.java:146) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.getTaskDetailLegacy() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.getTask(BrandTaskController.java:134) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:29:42.243 [http-nio-18080-exec-4] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:29:45.496 [http-nio-18080-exec-9] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:29:45.628 [http-nio-18080-exec-6] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:29:46.136 [http-nio-18080-exec-3] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:29:48.568 [http-nio-18080-exec-2] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:29:51.697 [http-nio-18080-exec-5] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:29:56.905 [http-nio-18080-exec-9] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:29:58.902 [http-nio-18080-exec-1] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:30:03.735 [http-nio-18080-exec-10] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:30:05.018 [scheduling-1] ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceHashCommands.hGetAll(LettuceHashCommands.java:104) - at org.springframework.data.redis.connection.DefaultedRedisConnection.hGetAll(DefaultedRedisConnection.java:1381) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.hGetAll(DefaultStringRedisConnection.java:456) - at org.springframework.data.redis.core.DefaultHashOperations.lambda$entries$18(DefaultHashOperations.java:235) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultHashOperations.entries(DefaultHashOperations.java:235) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getProgress(BrandTaskProgressCacheService.java:82) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.failStaleRunningTasks(BrandTaskService.java:1054) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) - at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) - at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:379) - at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) - at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.failStaleRunningTasks() - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) - at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) - at io.micrometer.observation.Observation.observe(Observation.java:499) - at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) - at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) - at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 39 common frames omitted -2026-04-01 14:30:06.223 [http-nio-18080-exec-8] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:30:06.659 [http-nio-18080-exec-2] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.dao.QueryTimeoutException: Redis command timed out - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:68) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.brand.service.BrandTaskProgressCacheService.getParsedPayload(BrandTaskProgressCacheService.java:94) - at com.nanri.aiimage.modules.brand.service.BrandTaskService.submitCrawlResult(BrandTaskService.java:221) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) - at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) - at com.nanri.aiimage.modules.brand.service.BrandTaskService$$SpringCGLIB$$0.submitCrawlResult() - at com.nanri.aiimage.modules.brand.controller.BrandTaskController.submitResult(BrandTaskController.java:163) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s) - at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 147 common frames omitted -2026-04-01 14:30:30.184 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:30:30.222 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:30:30.256 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:30:30.324 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:30:30.362 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:30:30.397 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:30:30.431 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:32:30.052 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:32:30.085 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:32:30.121 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:32:30.154 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:32:30.188 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:32:30.221 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:32:30.255 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:34:30.051 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:34:30.084 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:34:30.117 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:34:30.151 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:34:30.183 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:34:30.216 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:34:30.251 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:36:30.047 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:36:30.081 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:36:30.114 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:36:30.149 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:36:30.183 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:36:30.216 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:36:30.251 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:38:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:38:30.080 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:38:30.113 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:38:30.148 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:38:30.182 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:38:30.216 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:38:30.250 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:40:30.041 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:40:30.076 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:40:30.110 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:40:30.147 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:40:30.180 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:40:30.214 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:40:30.249 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:42:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:42:30.080 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:42:30.116 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:42:30.150 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:42:30.184 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:42:30.218 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:42:30.252 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:44:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:44:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:44:30.113 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:44:30.146 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:44:30.180 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:44:30.213 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:44:30.247 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:46:30.047 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:46:30.081 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:46:30.115 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:46:30.149 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:46:30.183 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:46:30.217 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:46:30.251 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:48:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:48:30.080 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:48:30.114 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:48:30.149 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:48:30.183 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:48:30.216 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:48:30.251 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:50:30.047 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:50:30.081 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:50:30.115 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:50:30.150 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:50:30.184 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:50:30.218 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:50:30.253 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:51:08.874 [http-nio-18080-exec-9] INFO o.a.coyote.http11.Http11Processor - Error parsing HTTP request header - Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level. -java.lang.IllegalArgumentException: Invalid character found in method name [0x160x030x010x050xc60x010x000x050xc20x030x030x940x92[0xc20xf90x9b0x8e0x150xfc0x0da[0x11|0xa760xfe"0xd10xeb*m0x1d0xf90x0f0xb90xd40xc2{0xf30xf60xbc ]. HTTP method names must be tokens - at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:409) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:270) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 14:51:09.265 [http-nio-18080-exec-2] INFO o.a.coyote.http11.Http11Processor - Error parsing HTTP request header - Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level. -java.lang.IllegalArgumentException: Invalid character found in method name [0x160x030x010x000xca0x010x000x000xc60x030x03(}`b0x9b0xb80x170xbbQ0x99I0xf0`0xd7B0xe80x9aJ0xadw0xaf0x130xa40xf6n}0xf5+}0xa9/0xd60x000x00h0xcc0x140xcc0x130xc0/0xc0+0xc000xc0,0xc00x110xc00x070xc0'0xc0#0xc00x130xc00x090xc0(0xc0$0xc00x140xc00x0a0xcc0x150x000x9e0x000x9f0x00g0x00k0x0030x0090x000x9c0x000x9d0x000x050x000x040x00<0x00=0x00/0x0050xc00x120x000x160x000x0a0x000x030x000x080x000x060x000x140x000x110x000x190x000x170x0020xc00x080x000x120x000x130x000x150x0080x00@0x00f0x00j0x000xa20x000xa30x010x000x0050x000x050x000x050x010x000x000x000x000x000x0a0x000x080x000x060x000x170x000x180x000x190x000x0b0x000x020x010x000x000x0d0x000x0c0x000x0a0x040x010x040x030x020x010x020x030x020x020xff0x010x000x010x000x000x0f0x000x010x01...]. HTTP method names must be tokens - at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:409) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:270) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 14:52:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:52:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:52:30.114 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:52:30.148 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:52:30.182 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:52:30.216 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:52:30.249 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:54:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:54:30.080 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:54:30.115 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:54:30.149 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:54:30.182 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:54:30.216 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:54:30.250 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:56:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:56:30.077 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:56:30.109 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:56:30.141 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:56:30.173 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:56:30.204 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:56:30.237 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:58:30.048 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:58:30.081 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:58:30.113 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:58:30.147 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:58:30.181 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:58:30.214 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:58:30.248 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 14:59:39.849 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=6b365ddb7282, companyId=17620011426697 -2026-04-01 14:59:39.873 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697 -2026-04-01 14:59:40.389 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, size=28 -2026-04-01 14:59:40.394 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17661276253024 -2026-04-01 14:59:40.654 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17640557016484 -2026-04-01 14:59:40.977 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17677081173068 -2026-04-01 14:59:41.278 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17666514978137 -2026-04-01 14:59:41.515 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17732777563885 -2026-04-01 14:59:41.761 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730206862305 -2026-04-01 14:59:41.993 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17643173839601 -2026-04-01 14:59:42.223 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17699988687631 -2026-04-01 14:59:42.448 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17718558697861 -2026-04-01 14:59:42.786 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17620011435996 -2026-04-01 14:59:43.143 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17620011435996, size=11 -2026-04-01 14:59:43.163 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774727505 -2026-04-01 14:59:43.610 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774727505, size=9 -2026-04-01 14:59:43.628 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729660106470 -2026-04-01 14:59:44.021 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729660106470, size=11 -2026-04-01 14:59:44.039 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730460291664 -2026-04-01 14:59:44.402 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730460291664, size=11 -2026-04-01 14:59:44.422 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17635465811898 -2026-04-01 14:59:44.824 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17635465811898, size=0 -2026-04-01 14:59:44.842 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17748610992756 -2026-04-01 14:59:45.258 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17748610992756, size=11 -2026-04-01 14:59:45.275 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17724161646108 -2026-04-01 14:59:45.657 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17724161646108, size=11 -2026-04-01 14:59:45.675 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639770836314 -2026-04-01 14:59:46.024 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639770836314, size=9 -2026-04-01 14:59:46.042 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774271474 -2026-04-01 14:59:46.408 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774271474, size=9 -2026-04-01 14:59:46.425 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771328771 -2026-04-01 14:59:46.876 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771328771, size=9 -2026-04-01 14:59:46.893 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771647243 -2026-04-01 14:59:47.263 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771647243, size=9 -2026-04-01 14:59:47.280 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772118514 -2026-04-01 14:59:47.750 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772118514, size=9 -2026-04-01 14:59:47.768 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772482271 -2026-04-01 14:59:48.140 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772482271, size=9 -2026-04-01 14:59:48.159 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772877215 -2026-04-01 14:59:48.544 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772877215, size=9 -2026-04-01 14:59:48.561 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773272476 -2026-04-01 14:59:48.936 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773272476, size=9 -2026-04-01 14:59:48.964 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773635592 -2026-04-01 14:59:49.309 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773635592, size=9 -2026-04-01 14:59:49.327 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773959266 -2026-04-01 14:59:49.704 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773959266, size=9 -2026-04-01 14:59:49.721 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729566998491 -2026-04-01 14:59:50.135 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729566998491, size=11 -2026-04-01 14:59:50.152 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17669217644226 -2026-04-01 14:59:50.520 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17669217644226, size=9 -2026-04-01 14:59:50.525 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-04-01 14:59:50.559 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-04-01 14:59:50.921 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cached upstream result, keyHash=e4ade5d7ed7e, companyId=17543915349961, size=22 -2026-04-01 14:59:50.925 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17719218431526 -2026-04-01 14:59:51.167 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17633627241792 -2026-04-01 14:59:51.396 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17549810616820 -2026-04-01 14:59:51.668 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17550861697817 -2026-04-01 14:59:51.914 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17572485086466 -2026-04-01 14:59:52.214 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17620718352236 -2026-04-01 14:59:52.439 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17573395442422 -2026-04-01 14:59:52.687 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543971161848 -2026-04-01 14:59:52.921 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17676840392758 -2026-04-01 14:59:53.144 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543973861944 -2026-04-01 14:59:53.384 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17613993013398 -2026-04-01 14:59:53.649 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543915345493 -2026-04-01 14:59:53.987 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543915345493, size=4 -2026-04-01 14:59:53.988 [http-nio-18080-exec-6] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] matched via upstream scan, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=郭亚芳, shopId=27730548558377, userId=17543915345493 -2026-04-01 15:00:30.040 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:00:30.073 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:00:30.106 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:00:30.139 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:00:30.173 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:00:30.206 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:00:30.240 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:00:30.274 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:02:05.405 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 704, files count: 1 -2026-04-01 15:02:05.420 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 704, file: 郭亚芳.xlsx, chunkIndex: 1/22, processedRows: 1/22 -2026-04-01 15:02:05.475 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:02:30.047 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:02:30.081 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:02:30.114 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:02:30.149 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:02:30.183 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:02:30.218 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:02:30.253 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:02:30.289 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:02:30.308 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 704, files count: 1 -2026-04-01 15:02:30.315 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 704, file: 郭亚芳.xlsx, chunkIndex: 1/22, processedRows: 1/22 -2026-04-01 15:02:30.363 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:04:30.048 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:04:30.081 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:04:30.115 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:04:30.150 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:04:30.184 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:04:30.219 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:04:30.252 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:04:30.286 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:06:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:06:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:06:30.114 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:06:30.149 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:06:30.182 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:06:30.216 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:06:30.253 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:06:30.287 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:08:30.041 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:08:30.076 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:08:30.109 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:08:30.143 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:08:30.178 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:08:30.211 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:08:30.246 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:08:30.280 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:10:30.048 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:10:30.081 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:10:30.117 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:10:30.151 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:10:30.185 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:10:30.219 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:10:30.253 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:10:30.287 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:12:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:12:30.080 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:12:30.113 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:12:30.147 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:12:30.181 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:12:30.214 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:12:30.248 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:12:30.282 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:14:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:14:30.080 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:14:30.114 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:14:30.149 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:14:30.183 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:14:30.217 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:14:30.252 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:14:30.286 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:16:30.049 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:16:30.084 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:16:30.119 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:16:30.153 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:16:30.187 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:16:30.221 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:16:30.254 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:16:30.288 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:18:30.049 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:18:30.083 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:18:30.117 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:18:30.150 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:18:30.184 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:18:30.217 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:18:30.251 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:18:30.285 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:20:30.047 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:20:30.081 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:20:30.115 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:20:30.149 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:20:30.182 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:20:30.216 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:20:30.250 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:20:30.284 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:22:30.065 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:22:30.102 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:22:30.140 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:22:30.175 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:22:30.208 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:22:30.242 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:22:30.277 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:22:30.312 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:24:30.049 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:24:30.084 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:24:30.117 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:24:30.152 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:24:30.187 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:24:30.221 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:24:30.254 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:24:30.289 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:26:30.047 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:26:30.080 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:26:30.113 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:26:30.150 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:26:30.183 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:26:30.215 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:26:30.263 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:26:30.297 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:28:30.044 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:28:30.077 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:28:30.110 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:28:30.142 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:28:30.175 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:28:30.208 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:28:30.253 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:28:30.291 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:30:30.043 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:30:30.076 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:30:30.109 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:30:30.144 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:30:30.176 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:30:30.209 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:30:30.242 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:30:30.274 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:32:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:32:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:32:30.112 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:32:30.146 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:32:30.179 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:32:30.212 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:32:30.245 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:32:30.278 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:34:30.060 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:34:30.094 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:34:30.127 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:34:30.160 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:34:30.194 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:34:30.227 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:34:30.260 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:34:30.294 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:36:30.064 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:36:30.098 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:36:30.133 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:36:30.167 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:36:30.200 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:36:30.235 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:36:30.269 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:36:30.303 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:38:30.044 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:38:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:38:30.114 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:38:30.151 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:38:30.185 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:38:30.219 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:38:30.254 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:38:30.288 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:40:30.048 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:40:30.087 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:40:30.123 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:40:30.158 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:40:30.193 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:40:30.228 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:40:30.264 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:40:30.299 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:42:30.051 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:42:30.086 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:42:30.121 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:42:30.155 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:42:30.190 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:42:30.225 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:42:30.259 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:42:30.293 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:44:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:44:30.084 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:44:30.121 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:44:30.157 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:44:30.191 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:44:30.227 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:44:30.263 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:44:30.297 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:46:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:46:30.078 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:46:30.111 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:46:30.145 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:46:30.178 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:46:30.212 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:46:30.246 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:46:30.281 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:48:30.044 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:48:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:48:30.112 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:48:30.148 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:48:30.183 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:48:30.220 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:48:30.255 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:48:30.298 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:50:08.412 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=6b365ddb7282, companyId=17620011426697 -2026-04-01 15:50:08.434 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697 -2026-04-01 15:50:08.955 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, size=28 -2026-04-01 15:50:08.959 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17661276253024 -2026-04-01 15:50:09.182 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17640557016484 -2026-04-01 15:50:09.460 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17677081173068 -2026-04-01 15:50:09.689 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17666514978137 -2026-04-01 15:50:09.906 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17732777563885 -2026-04-01 15:50:10.137 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730206862305 -2026-04-01 15:50:10.390 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17643173839601 -2026-04-01 15:50:10.649 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17699988687631 -2026-04-01 15:50:10.983 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17718558697861 -2026-04-01 15:50:11.218 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17620011435996 -2026-04-01 15:50:11.555 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17620011435996, size=11 -2026-04-01 15:50:11.572 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774727505 -2026-04-01 15:50:11.950 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774727505, size=9 -2026-04-01 15:50:11.966 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729660106470 -2026-04-01 15:50:12.400 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729660106470, size=11 -2026-04-01 15:50:12.416 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730460291664 -2026-04-01 15:50:12.818 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730460291664, size=11 -2026-04-01 15:50:12.834 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17635465811898 -2026-04-01 15:50:13.227 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17635465811898, size=0 -2026-04-01 15:50:13.243 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17748610992756 -2026-04-01 15:50:13.603 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17748610992756, size=11 -2026-04-01 15:50:13.619 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17724161646108 -2026-04-01 15:50:13.962 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17724161646108, size=11 -2026-04-01 15:50:13.978 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639770836314 -2026-04-01 15:50:14.434 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639770836314, size=9 -2026-04-01 15:50:14.451 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774271474 -2026-04-01 15:50:14.813 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774271474, size=9 -2026-04-01 15:50:14.830 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771328771 -2026-04-01 15:50:15.179 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771328771, size=9 -2026-04-01 15:50:15.195 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771647243 -2026-04-01 15:50:15.544 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771647243, size=9 -2026-04-01 15:50:15.560 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772118514 -2026-04-01 15:50:15.936 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772118514, size=9 -2026-04-01 15:50:15.953 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772482271 -2026-04-01 15:50:16.314 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772482271, size=9 -2026-04-01 15:50:16.330 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772877215 -2026-04-01 15:50:16.696 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772877215, size=9 -2026-04-01 15:50:16.712 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773272476 -2026-04-01 15:50:17.101 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773272476, size=9 -2026-04-01 15:50:17.117 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773635592 -2026-04-01 15:50:17.543 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773635592, size=9 -2026-04-01 15:50:17.560 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773959266 -2026-04-01 15:50:17.931 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773959266, size=9 -2026-04-01 15:50:17.948 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729566998491 -2026-04-01 15:50:18.314 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729566998491, size=11 -2026-04-01 15:50:18.338 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17669217644226 -2026-04-01 15:50:18.724 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17669217644226, size=9 -2026-04-01 15:50:18.728 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-04-01 15:50:18.761 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-04-01 15:50:19.108 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cached upstream result, keyHash=e4ade5d7ed7e, companyId=17543915349961, size=22 -2026-04-01 15:50:19.112 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17719218431526 -2026-04-01 15:50:19.373 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17633627241792 -2026-04-01 15:50:19.619 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17549810616820 -2026-04-01 15:50:19.873 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17550861697817 -2026-04-01 15:50:20.105 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17572485086466 -2026-04-01 15:50:20.409 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17620718352236 -2026-04-01 15:50:20.661 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17573395442422 -2026-04-01 15:50:20.882 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543971161848 -2026-04-01 15:50:21.116 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17676840392758 -2026-04-01 15:50:21.357 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543973861944 -2026-04-01 15:50:21.621 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17613993013398 -2026-04-01 15:50:21.938 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543915345493 -2026-04-01 15:50:22.279 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543915345493, size=4 -2026-04-01 15:50:22.279 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] matched via upstream scan, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=郭亚芳, shopId=27730548558377, userId=17543915345493 -2026-04-01 15:50:30.043 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:50:30.076 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:50:30.109 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:50:30.142 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:50:30.176 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:50:30.210 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:50:30.243 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:50:30.276 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:50:30.309 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:51:16.475 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 708, files count: 1 -2026-04-01 15:51:16.485 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 708, file: 郭亚芳.xlsx, chunkIndex: 1/8, processedRows: 1/8 -2026-04-01 15:51:16.530 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:51:34.823 [http-nio-18080-exec-4] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 708, files count: 1 -2026-04-01 15:51:34.831 [http-nio-18080-exec-4] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 708, file: 郭亚芳.xlsx, chunkIndex: 2/8, processedRows: 2/8 -2026-04-01 15:51:34.876 [http-nio-18080-exec-4] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:52:30.049 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:52:30.082 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:52:30.115 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:52:30.149 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:52:30.182 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:52:30.215 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:52:30.248 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:52:30.281 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:52:30.313 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:54:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:54:30.082 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:54:30.116 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:54:30.157 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:54:30.190 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:54:30.222 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:54:30.256 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:54:30.289 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:54:30.321 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:55:22.082 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=6b365ddb7282, companyId=17620011426697 -2026-04-01 15:55:22.091 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, size=28 -2026-04-01 15:55:22.096 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17661276253024 -2026-04-01 15:55:22.462 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17640557016484 -2026-04-01 15:55:22.769 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17677081173068 -2026-04-01 15:55:23.007 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17666514978137 -2026-04-01 15:55:23.250 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17732777563885 -2026-04-01 15:55:23.510 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730206862305 -2026-04-01 15:55:24.014 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17643173839601 -2026-04-01 15:55:24.298 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17699988687631 -2026-04-01 15:55:24.574 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17718558697861 -2026-04-01 15:55:24.796 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17620011435996, size=11 -2026-04-01 15:55:24.801 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774727505, size=9 -2026-04-01 15:55:24.806 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729660106470, size=11 -2026-04-01 15:55:24.811 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730460291664, size=11 -2026-04-01 15:55:24.815 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17635465811898, size=0 -2026-04-01 15:55:24.820 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17748610992756, size=11 -2026-04-01 15:55:24.825 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17724161646108, size=11 -2026-04-01 15:55:24.829 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639770836314, size=9 -2026-04-01 15:55:24.834 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774271474, size=9 -2026-04-01 15:55:24.839 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771328771, size=9 -2026-04-01 15:55:24.843 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771647243, size=9 -2026-04-01 15:55:24.848 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772118514, size=9 -2026-04-01 15:55:24.853 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772482271, size=9 -2026-04-01 15:55:24.858 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772877215, size=9 -2026-04-01 15:55:24.862 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773272476, size=9 -2026-04-01 15:55:24.867 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773635592, size=9 -2026-04-01 15:55:24.872 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773959266, size=9 -2026-04-01 15:55:24.877 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729566998491, size=11 -2026-04-01 15:55:24.881 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17669217644226, size=9 -2026-04-01 15:55:24.886 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-04-01 15:55:24.891 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] hit shop-match cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=郭亚芳, shopId=27730548558377, userId=17543915345493 -2026-04-01 15:56:14.673 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 709, files count: 1 -2026-04-01 15:56:14.682 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 709, file: 郭亚芳.xlsx, chunkIndex: 1/8, processedRows: 1/8 -2026-04-01 15:56:14.727 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:56:30.049 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:56:30.083 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:56:30.117 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:56:30.151 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:56:30.185 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:56:30.219 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:56:30.254 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:56:30.290 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:56:30.323 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:56:30.357 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:58:30.051 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:58:30.084 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:58:30.118 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:58:30.152 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:58:30.185 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:58:30.219 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:58:30.252 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:58:30.285 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:58:30.318 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 15:58:30.351 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:00:30.044 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:00:30.078 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:00:30.111 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:00:30.145 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:00:30.177 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:00:30.210 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:00:30.245 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:00:30.281 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:00:30.314 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:00:30.348 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:02:30.044 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:02:30.077 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:02:30.109 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:02:30.142 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:02:30.175 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:02:30.207 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:02:30.240 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:02:30.273 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:02:30.306 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:02:30.340 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:04:30.044 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:04:30.077 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:04:30.110 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:04:30.143 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:04:30.176 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:04:30.209 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:04:30.243 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:04:30.276 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:04:30.309 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:04:30.345 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:06:30.052 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:06:30.087 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:06:30.121 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:06:30.156 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:06:30.191 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:06:30.226 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:06:30.260 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:06:30.295 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:06:30.329 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:06:30.364 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:08:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:08:30.081 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:08:30.116 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:08:30.150 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:08:30.184 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:08:30.217 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:08:30.252 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:08:30.286 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:08:30.321 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:08:30.355 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:10:30.041 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:10:30.076 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:10:30.110 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:10:30.144 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:10:30.178 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:10:30.213 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:10:30.248 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:10:30.283 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:10:30.318 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:10:30.352 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:12:30.052 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:12:30.087 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:12:30.121 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:12:30.156 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:12:30.190 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:12:30.223 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:12:30.258 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:12:30.292 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:12:30.326 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:12:30.359 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:14:30.047 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:14:30.080 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:14:30.115 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:14:30.149 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:14:30.182 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:14:30.217 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:14:30.270 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:14:30.316 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:14:30.351 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:14:30.384 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:16:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:16:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:16:30.112 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:16:30.146 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:16:30.180 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:16:30.213 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:16:30.249 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:16:30.285 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:16:30.320 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:16:30.354 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:18:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:18:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:18:30.112 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:18:30.147 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:18:30.182 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:18:30.215 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:18:30.250 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:18:30.284 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:18:30.317 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:18:30.352 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:20:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:20:30.081 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:20:30.116 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:20:30.153 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:20:30.186 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:20:30.221 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:20:30.255 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:20:30.289 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:20:30.322 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:20:30.356 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:22:30.042 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:22:30.076 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:22:30.110 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:22:30.144 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:22:30.177 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:22:30.210 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:22:30.245 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:22:30.280 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:22:30.313 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:22:30.350 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:24:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:24:30.078 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:24:30.113 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:24:30.145 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:24:30.178 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:24:30.211 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:24:30.244 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:24:30.279 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:24:30.312 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:24:30.344 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:26:30.049 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:26:30.085 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:26:30.118 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:26:30.153 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:26:30.187 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:26:30.220 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:26:30.254 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:26:30.287 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:26:30.321 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:26:30.356 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:28:30.043 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:28:30.075 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:28:30.106 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:28:30.138 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:28:30.170 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:28:30.202 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:28:30.234 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:28:30.266 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:28:30.297 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:28:30.328 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:30:30.047 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:30:30.081 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:30:30.114 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:30:30.148 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:30:30.183 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:30:30.218 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:30:30.252 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:30:30.285 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:30:30.319 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:30:30.354 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:32:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:32:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:32:30.113 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:32:30.146 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:32:30.180 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:32:30.213 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:32:30.248 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:32:30.281 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:32:30.314 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:32:30.348 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:34:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:34:30.078 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:34:30.112 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:34:30.146 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:34:30.180 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:34:30.214 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:34:30.248 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:34:30.281 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:34:30.314 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:34:30.349 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:36:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:36:30.082 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:36:30.115 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:36:30.150 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:36:30.183 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:36:30.217 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:36:30.251 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:36:30.285 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:36:30.319 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:36:30.357 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:38:30.047 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:38:30.081 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:38:30.115 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:38:30.150 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:38:30.184 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:38:30.218 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:38:30.252 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:38:30.286 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:38:30.320 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:38:30.354 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:39:14.578 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=6b365ddb7282, companyId=17620011426697 -2026-04-01 16:39:14.598 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697 -2026-04-01 16:39:15.230 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, size=28 -2026-04-01 16:39:15.235 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17661276253024 -2026-04-01 16:39:15.503 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17640557016484 -2026-04-01 16:39:15.760 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17677081173068 -2026-04-01 16:39:15.986 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17666514978137 -2026-04-01 16:39:16.206 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17732777563885 -2026-04-01 16:39:16.485 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730206862305 -2026-04-01 16:39:16.709 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17643173839601 -2026-04-01 16:39:17.011 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17699988687631 -2026-04-01 16:39:17.239 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17718558697861 -2026-04-01 16:39:17.487 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17620011435996 -2026-04-01 16:39:17.858 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17620011435996, size=11 -2026-04-01 16:39:17.876 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774727505 -2026-04-01 16:39:18.249 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774727505, size=9 -2026-04-01 16:39:18.265 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729660106470 -2026-04-01 16:39:18.641 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729660106470, size=11 -2026-04-01 16:39:18.657 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730460291664 -2026-04-01 16:39:19.030 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730460291664, size=11 -2026-04-01 16:39:19.045 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17635465811898 -2026-04-01 16:39:19.400 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17635465811898, size=0 -2026-04-01 16:39:19.417 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17748610992756 -2026-04-01 16:39:19.836 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17748610992756, size=11 -2026-04-01 16:39:19.852 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17724161646108 -2026-04-01 16:39:20.211 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17724161646108, size=11 -2026-04-01 16:39:20.227 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639770836314 -2026-04-01 16:39:20.591 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639770836314, size=9 -2026-04-01 16:39:20.609 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774271474 -2026-04-01 16:39:21.006 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774271474, size=9 -2026-04-01 16:39:21.022 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771328771 -2026-04-01 16:39:21.410 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771328771, size=9 -2026-04-01 16:39:21.425 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771647243 -2026-04-01 16:39:21.812 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771647243, size=9 -2026-04-01 16:39:21.828 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772118514 -2026-04-01 16:39:22.219 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772118514, size=9 -2026-04-01 16:39:22.236 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772482271 -2026-04-01 16:39:22.617 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772482271, size=9 -2026-04-01 16:39:22.633 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772877215 -2026-04-01 16:39:23.020 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772877215, size=9 -2026-04-01 16:39:23.037 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773272476 -2026-04-01 16:39:23.401 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773272476, size=9 -2026-04-01 16:39:23.417 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773635592 -2026-04-01 16:39:23.764 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773635592, size=9 -2026-04-01 16:39:23.780 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773959266 -2026-04-01 16:39:24.143 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773959266, size=9 -2026-04-01 16:39:24.159 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729566998491 -2026-04-01 16:39:24.556 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729566998491, size=11 -2026-04-01 16:39:24.572 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17669217644226 -2026-04-01 16:39:24.951 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17669217644226, size=9 -2026-04-01 16:39:24.955 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-04-01 16:39:24.986 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-04-01 16:39:25.362 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cached upstream result, keyHash=e4ade5d7ed7e, companyId=17543915349961, size=22 -2026-04-01 16:39:25.366 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17719218431526 -2026-04-01 16:39:25.623 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17633627241792 -2026-04-01 16:39:25.842 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17549810616820 -2026-04-01 16:39:26.092 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17550861697817 -2026-04-01 16:39:26.326 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17572485086466 -2026-04-01 16:39:26.567 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17620718352236 -2026-04-01 16:39:26.792 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17573395442422 -2026-04-01 16:39:27.036 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543971161848 -2026-04-01 16:39:27.307 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17676840392758 -2026-04-01 16:39:27.533 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543973861944 -2026-04-01 16:39:27.753 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17613993013398 -2026-04-01 16:39:27.990 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543915345493 -2026-04-01 16:39:28.341 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543915345493, size=4 -2026-04-01 16:39:28.341 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] matched via upstream scan, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=郭亚芳, shopId=27730548558377, userId=17543915345493 -2026-04-01 16:40:26.003 [http-nio-18080-exec-3] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 711, files count: 1 -2026-04-01 16:40:26.012 [http-nio-18080-exec-3] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 711, file: 郭亚芳.xlsx, chunkIndex: 1/8, processedRows: 1/8 -2026-04-01 16:40:26.057 [http-nio-18080-exec-3] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:40:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:40:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:40:30.112 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:40:30.146 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:40:30.180 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:40:30.213 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:40:30.247 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:40:30.281 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:40:30.315 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:40:30.349 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:40:30.383 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:42:30.047 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:42:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:42:30.111 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:42:30.144 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:42:30.176 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:42:30.210 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:42:30.244 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:42:30.276 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:42:30.307 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:42:30.340 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:42:30.374 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:43:19.906 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=6b365ddb7282, companyId=17620011426697 -2026-04-01 16:43:19.914 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, size=28 -2026-04-01 16:43:19.919 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17661276253024 -2026-04-01 16:43:20.244 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17640557016484 -2026-04-01 16:43:20.478 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17677081173068 -2026-04-01 16:43:20.707 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17666514978137 -2026-04-01 16:43:20.939 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17732777563885 -2026-04-01 16:43:21.195 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730206862305 -2026-04-01 16:43:21.471 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17643173839601 -2026-04-01 16:43:21.704 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17699988687631 -2026-04-01 16:43:21.924 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17718558697861 -2026-04-01 16:43:22.175 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17620011435996, size=11 -2026-04-01 16:43:22.180 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774727505, size=9 -2026-04-01 16:43:22.185 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729660106470, size=11 -2026-04-01 16:43:22.189 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730460291664, size=11 -2026-04-01 16:43:22.194 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17635465811898, size=0 -2026-04-01 16:43:22.199 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17748610992756, size=11 -2026-04-01 16:43:22.203 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17724161646108, size=11 -2026-04-01 16:43:22.207 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639770836314, size=9 -2026-04-01 16:43:22.211 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774271474, size=9 -2026-04-01 16:43:22.215 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771328771, size=9 -2026-04-01 16:43:22.219 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771647243, size=9 -2026-04-01 16:43:22.223 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772118514, size=9 -2026-04-01 16:43:22.227 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772482271, size=9 -2026-04-01 16:43:22.232 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772877215, size=9 -2026-04-01 16:43:22.236 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773272476, size=9 -2026-04-01 16:43:22.240 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773635592, size=9 -2026-04-01 16:43:22.244 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773959266, size=9 -2026-04-01 16:43:22.248 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729566998491, size=11 -2026-04-01 16:43:22.252 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17669217644226, size=9 -2026-04-01 16:43:22.256 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-04-01 16:43:22.260 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] hit shop-match cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=郭亚芳, shopId=27730548558377, userId=17543915345493 -2026-04-01 16:44:04.155 [http-nio-18080-exec-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 712, files count: 1 -2026-04-01 16:44:04.164 [http-nio-18080-exec-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 712, file: 郭亚芳.xlsx, chunkIndex: 1/8, processedRows: 1/8 -2026-04-01 16:44:04.208 [http-nio-18080-exec-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:44:15.292 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 712, files count: 1 -2026-04-01 16:44:15.301 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 712, file: 郭亚芳.xlsx, chunkIndex: 2/8, processedRows: 2/8 -2026-04-01 16:44:15.345 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:44:30.038 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:44:30.070 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:44:30.106 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:44:30.139 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:44:30.172 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:44:30.205 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:44:30.241 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:44:30.275 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:44:30.307 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:44:30.341 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:44:30.382 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:44:30.418 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:45:39.552 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=6b365ddb7282, companyId=17620011426697 -2026-04-01 16:45:39.560 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, size=28 -2026-04-01 16:45:39.564 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17661276253024 -2026-04-01 16:45:39.889 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17640557016484 -2026-04-01 16:45:40.130 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17677081173068 -2026-04-01 16:45:40.420 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17666514978137 -2026-04-01 16:45:40.645 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17732777563885 -2026-04-01 16:45:40.936 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730206862305 -2026-04-01 16:45:41.178 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17643173839601 -2026-04-01 16:45:41.425 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17699988687631 -2026-04-01 16:45:41.658 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17718558697861 -2026-04-01 16:45:41.915 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17620011435996, size=11 -2026-04-01 16:45:41.919 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774727505, size=9 -2026-04-01 16:45:41.923 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729660106470, size=11 -2026-04-01 16:45:41.927 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730460291664, size=11 -2026-04-01 16:45:41.931 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17635465811898, size=0 -2026-04-01 16:45:41.935 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17748610992756, size=11 -2026-04-01 16:45:41.939 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17724161646108, size=11 -2026-04-01 16:45:41.943 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639770836314, size=9 -2026-04-01 16:45:41.948 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774271474, size=9 -2026-04-01 16:45:41.952 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771328771, size=9 -2026-04-01 16:45:41.956 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771647243, size=9 -2026-04-01 16:45:41.960 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772118514, size=9 -2026-04-01 16:45:41.964 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772482271, size=9 -2026-04-01 16:45:41.968 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772877215, size=9 -2026-04-01 16:45:41.973 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773272476, size=9 -2026-04-01 16:45:41.977 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773635592, size=9 -2026-04-01 16:45:41.981 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773959266, size=9 -2026-04-01 16:45:41.985 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729566998491, size=11 -2026-04-01 16:45:41.989 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17669217644226, size=9 -2026-04-01 16:45:41.993 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-04-01 16:45:41.998 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] hit shop-match cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=郭亚芳, shopId=27730548558377, userId=17543915345493 -2026-04-01 16:46:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:46:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:46:30.111 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:46:30.145 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:46:30.177 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:46:30.210 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:46:30.242 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:46:30.274 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:46:30.307 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:46:30.339 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:46:30.373 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:46:30.406 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:46:30.440 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:46:32.458 [http-nio-18080-exec-7] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 713, files count: 1 -2026-04-01 16:46:32.463 [http-nio-18080-exec-7] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 713, file: 郭亚芳.xlsx, chunkIndex: 1/8, processedRows: 1/8 -2026-04-01 16:46:32.526 [http-nio-18080-exec-7] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:46:44.075 [http-nio-18080-exec-8] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 713, files count: 1 -2026-04-01 16:46:44.096 [http-nio-18080-exec-8] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 713, file: 郭亚芳.xlsx, chunkIndex: 2/8, processedRows: 2/8 -2026-04-01 16:46:44.192 [http-nio-18080-exec-8] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:47:22.735 [http-nio-18080-exec-4] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 713, files count: 1 -2026-04-01 16:47:22.745 [http-nio-18080-exec-4] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 713, file: 郭亚芳.xlsx, chunkIndex: 3/8, processedRows: 3/8 -2026-04-01 16:47:22.796 [http-nio-18080-exec-4] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:47:56.178 [http-nio-18080-exec-10] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 713, files count: 1 -2026-04-01 16:47:56.187 [http-nio-18080-exec-10] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 713, file: 郭亚芳.xlsx, chunkIndex: 4/8, processedRows: 4/8 -2026-04-01 16:47:56.231 [http-nio-18080-exec-10] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:48:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:48:30.077 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:48:30.109 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:48:30.143 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:48:30.177 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:48:30.209 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:48:30.242 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:48:30.275 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:48:30.431 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:48:30.493 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:48:30.535 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:48:30.572 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:48:30.604 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:48:32.056 [http-nio-18080-exec-4] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 713, files count: 1 -2026-04-01 16:48:32.060 [http-nio-18080-exec-4] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 713, file: 郭亚芳.xlsx, chunkIndex: 5/8, processedRows: 5/8 -2026-04-01 16:48:32.105 [http-nio-18080-exec-4] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:48:51.248 [http-nio-18080-exec-10] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 713, files count: 1 -2026-04-01 16:48:51.256 [http-nio-18080-exec-10] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 713, file: 郭亚芳.xlsx, chunkIndex: 6/8, processedRows: 6/8 -2026-04-01 16:48:51.300 [http-nio-18080-exec-10] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:50:30.044 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:50:30.077 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:50:30.109 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:50:30.141 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:50:30.173 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:50:30.205 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:50:30.238 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:50:30.270 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:50:30.302 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:50:30.334 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:50:30.366 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:50:30.398 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:50:30.430 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:52:30.044 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:52:30.077 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:52:30.109 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:52:30.141 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:52:30.173 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:52:30.205 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:52:30.237 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:52:30.271 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:52:30.302 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:52:30.335 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:52:30.367 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:52:30.398 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:52:30.430 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:54:30.057 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:54:30.159 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:54:30.258 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:54:30.292 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:54:30.325 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:54:30.359 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:54:30.393 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:54:30.427 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:54:30.461 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:54:30.494 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:54:30.533 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:54:30.569 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:54:30.603 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:56:30.048 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:56:30.082 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:56:30.116 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:56:30.151 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:56:30.184 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:56:30.218 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:56:30.252 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:56:30.286 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:56:30.331 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:56:30.367 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:56:30.435 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:56:30.471 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:56:30.506 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:58:30.050 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:58:30.083 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:58:30.118 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:58:30.152 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:58:30.186 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:58:30.219 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:58:30.253 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:58:30.287 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:58:30.321 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:58:30.354 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:58:30.388 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:58:30.422 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:58:30.457 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 16:59:21.962 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=6b365ddb7282, companyId=17620011426697 -2026-04-01 16:59:21.971 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, size=28 -2026-04-01 16:59:21.974 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17661276253024 -2026-04-01 16:59:22.378 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17640557016484 -2026-04-01 16:59:22.618 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17677081173068 -2026-04-01 16:59:22.932 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17666514978137 -2026-04-01 16:59:23.170 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17732777563885 -2026-04-01 16:59:23.384 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730206862305 -2026-04-01 16:59:23.636 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17643173839601 -2026-04-01 16:59:23.874 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17699988687631 -2026-04-01 16:59:24.117 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17718558697861 -2026-04-01 16:59:24.377 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17620011435996, size=11 -2026-04-01 16:59:24.381 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774727505, size=9 -2026-04-01 16:59:24.385 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729660106470, size=11 -2026-04-01 16:59:24.389 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730460291664, size=11 -2026-04-01 16:59:24.392 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17635465811898, size=0 -2026-04-01 16:59:24.396 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17748610992756, size=11 -2026-04-01 16:59:24.400 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17724161646108, size=11 -2026-04-01 16:59:24.404 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639770836314, size=9 -2026-04-01 16:59:24.408 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774271474, size=9 -2026-04-01 16:59:24.411 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771328771, size=9 -2026-04-01 16:59:24.415 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771647243, size=9 -2026-04-01 16:59:24.419 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772118514, size=9 -2026-04-01 16:59:24.423 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772482271, size=9 -2026-04-01 16:59:24.427 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772877215, size=9 -2026-04-01 16:59:24.431 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773272476, size=9 -2026-04-01 16:59:24.435 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773635592, size=9 -2026-04-01 16:59:24.438 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773959266, size=9 -2026-04-01 16:59:24.442 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729566998491, size=11 -2026-04-01 16:59:24.447 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17669217644226, size=9 -2026-04-01 16:59:24.451 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-04-01 16:59:24.454 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] hit shop-match cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=郭亚芳, shopId=27730548558377, userId=17543915345493 -2026-04-01 17:00:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:00:30.077 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:00:30.109 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:00:30.140 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:00:30.173 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:00:30.205 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:00:30.236 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:00:30.269 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:00:30.300 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:00:30.332 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:00:30.364 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:00:30.396 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:00:30.428 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:00:30.460 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:02:30.041 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:02:30.072 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:02:30.104 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:02:30.136 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:02:30.167 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:02:30.199 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:02:30.231 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:02:30.263 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:02:30.295 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:02:30.327 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:02:30.359 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:02:30.391 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:02:30.424 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:02:30.456 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:02:37.060 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=6b365ddb7282, companyId=17620011426697 -2026-04-01 17:02:37.092 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, size=28 -2026-04-01 17:02:37.097 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17661276253024 -2026-04-01 17:02:37.499 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17640557016484 -2026-04-01 17:02:37.760 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17677081173068 -2026-04-01 17:02:37.987 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17666514978137 -2026-04-01 17:02:38.225 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17732777563885 -2026-04-01 17:02:38.544 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730206862305 -2026-04-01 17:02:38.766 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17643173839601 -2026-04-01 17:02:38.990 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17699988687631 -2026-04-01 17:02:39.219 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17718558697861 -2026-04-01 17:02:39.460 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17620011435996, size=11 -2026-04-01 17:02:39.464 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774727505, size=9 -2026-04-01 17:02:39.468 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729660106470, size=11 -2026-04-01 17:02:39.472 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730460291664, size=11 -2026-04-01 17:02:39.476 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17635465811898, size=0 -2026-04-01 17:02:39.480 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17748610992756, size=11 -2026-04-01 17:02:39.483 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17724161646108, size=11 -2026-04-01 17:02:39.487 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639770836314, size=9 -2026-04-01 17:02:39.491 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774271474, size=9 -2026-04-01 17:02:39.495 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771328771, size=9 -2026-04-01 17:02:39.499 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771647243, size=9 -2026-04-01 17:02:39.503 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772118514, size=9 -2026-04-01 17:02:39.507 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772482271, size=9 -2026-04-01 17:02:39.510 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772877215, size=9 -2026-04-01 17:02:39.514 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773272476, size=9 -2026-04-01 17:02:39.518 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773635592, size=9 -2026-04-01 17:02:39.522 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773959266, size=9 -2026-04-01 17:02:39.526 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729566998491, size=11 -2026-04-01 17:02:39.530 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17669217644226, size=9 -2026-04-01 17:02:39.534 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-04-01 17:02:39.539 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] hit shop-match cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=郭亚芳, shopId=27730548558377, userId=17543915345493 -2026-04-01 17:03:33.307 [http-nio-18080-exec-8] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 715, files count: 1 -2026-04-01 17:03:33.316 [http-nio-18080-exec-8] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 715, file: 郭亚芳.xlsx, chunkIndex: 1/8, processedRows: 1/8 -2026-04-01 17:03:33.363 [http-nio-18080-exec-8] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:03:52.319 [http-nio-18080-exec-8] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 715, files count: 1 -2026-04-01 17:03:52.328 [http-nio-18080-exec-8] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 715, file: 郭亚芳.xlsx, chunkIndex: 2/8, processedRows: 2/8 -2026-04-01 17:03:52.371 [http-nio-18080-exec-8] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:04:18.216 [http-nio-18080-exec-4] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 715, files count: 1 -2026-04-01 17:04:18.225 [http-nio-18080-exec-4] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 715, file: 郭亚芳.xlsx, chunkIndex: 3/8, processedRows: 3/8 -2026-04-01 17:04:18.270 [http-nio-18080-exec-4] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:04:30.037 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:04:30.069 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:04:30.100 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:04:30.132 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:04:30.170 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:04:30.209 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:04:30.249 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:04:30.285 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:04:30.318 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:04:30.350 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:04:30.381 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:04:30.413 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:04:30.444 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:04:30.475 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:04:30.506 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:04:50.627 [http-nio-18080-exec-7] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 715, files count: 1 -2026-04-01 17:04:50.635 [http-nio-18080-exec-7] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 715, file: 郭亚芳.xlsx, chunkIndex: 4/8, processedRows: 4/8 -2026-04-01 17:04:50.679 [http-nio-18080-exec-7] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:05:21.249 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 715, files count: 1 -2026-04-01 17:05:21.258 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 715, file: 郭亚芳.xlsx, chunkIndex: 5/8, processedRows: 5/8 -2026-04-01 17:05:21.303 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:05:43.632 [http-nio-18080-exec-9] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 715, files count: 1 -2026-04-01 17:05:43.641 [http-nio-18080-exec-9] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 715, file: 郭亚芳.xlsx, chunkIndex: 6/8, processedRows: 6/8 -2026-04-01 17:05:43.686 [http-nio-18080-exec-9] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:06:30.042 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:06:30.074 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:06:30.105 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:06:30.142 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:06:30.181 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:06:30.215 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:06:30.264 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:06:30.298 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:06:30.330 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:06:30.365 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:06:30.400 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:06:30.434 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:06:30.468 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:06:30.502 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:06:30.536 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:08:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:08:30.087 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:08:30.120 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:08:30.153 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:08:30.184 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:08:30.216 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:08:30.249 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:08:30.280 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:08:30.312 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:08:30.345 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:08:30.377 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:08:30.409 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:08:30.440 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:08:30.472 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:08:30.503 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:10:30.042 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:10:30.074 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:10:30.106 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:10:30.138 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:10:30.179 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:10:30.215 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:10:30.294 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:10:30.327 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:10:30.358 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:10:30.390 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:10:30.423 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:10:30.468 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:10:30.507 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:10:30.550 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:10:30.585 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:12:30.041 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:12:30.074 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:12:30.108 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:12:30.142 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:12:30.175 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:12:30.209 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:12:30.242 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:12:30.276 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:12:30.309 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:12:30.342 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:12:30.378 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:12:30.411 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:12:30.445 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:12:30.478 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:12:30.515 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:14:30.041 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:14:30.076 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:14:30.109 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:14:30.144 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:14:30.178 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:14:30.212 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:14:30.247 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:14:30.281 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:14:30.315 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:14:30.349 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:14:30.383 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:14:30.416 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:14:30.450 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:14:30.484 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:14:30.518 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:15:03.138 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=6b365ddb7282, companyId=17620011426697 -2026-04-01 17:15:03.159 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697 -2026-04-01 17:15:03.618 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, size=28 -2026-04-01 17:15:03.623 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17661276253024 -2026-04-01 17:15:03.861 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17640557016484 -2026-04-01 17:15:04.162 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17677081173068 -2026-04-01 17:15:04.380 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17666514978137 -2026-04-01 17:15:04.609 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17732777563885 -2026-04-01 17:15:04.828 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730206862305 -2026-04-01 17:15:05.133 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17643173839601 -2026-04-01 17:15:05.347 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17699988687631 -2026-04-01 17:15:05.593 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17718558697861 -2026-04-01 17:15:05.834 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17620011435996 -2026-04-01 17:15:06.199 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17620011435996, size=11 -2026-04-01 17:15:06.215 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774727505 -2026-04-01 17:15:06.595 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774727505, size=9 -2026-04-01 17:15:06.611 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729660106470 -2026-04-01 17:15:07.003 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729660106470, size=11 -2026-04-01 17:15:07.020 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730460291664 -2026-04-01 17:15:07.468 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730460291664, size=11 -2026-04-01 17:15:07.490 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17635465811898 -2026-04-01 17:15:07.844 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17635465811898, size=0 -2026-04-01 17:15:07.860 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17748610992756 -2026-04-01 17:15:08.217 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17748610992756, size=11 -2026-04-01 17:15:08.233 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17724161646108 -2026-04-01 17:15:08.599 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17724161646108, size=11 -2026-04-01 17:15:08.615 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639770836314 -2026-04-01 17:15:09.004 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639770836314, size=9 -2026-04-01 17:15:09.021 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774271474 -2026-04-01 17:15:09.395 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774271474, size=9 -2026-04-01 17:15:09.411 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771328771 -2026-04-01 17:15:09.805 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771328771, size=9 -2026-04-01 17:15:09.821 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771647243 -2026-04-01 17:15:10.196 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771647243, size=9 -2026-04-01 17:15:10.213 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772118514 -2026-04-01 17:15:10.608 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772118514, size=9 -2026-04-01 17:15:10.624 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772482271 -2026-04-01 17:15:11.016 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772482271, size=9 -2026-04-01 17:15:11.033 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772877215 -2026-04-01 17:15:11.437 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772877215, size=9 -2026-04-01 17:15:11.456 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773272476 -2026-04-01 17:15:11.810 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773272476, size=9 -2026-04-01 17:15:11.827 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773635592 -2026-04-01 17:15:12.313 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773635592, size=9 -2026-04-01 17:15:12.329 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773959266 -2026-04-01 17:15:12.735 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773959266, size=9 -2026-04-01 17:15:12.755 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729566998491 -2026-04-01 17:15:13.106 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729566998491, size=11 -2026-04-01 17:15:13.123 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17669217644226 -2026-04-01 17:15:13.468 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17669217644226, size=9 -2026-04-01 17:15:13.473 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-04-01 17:15:13.507 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-04-01 17:15:14.033 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cached upstream result, keyHash=e4ade5d7ed7e, companyId=17543915349961, size=22 -2026-04-01 17:15:14.039 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17719218431526 -2026-04-01 17:15:14.325 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17633627241792 -2026-04-01 17:15:14.562 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17549810616820 -2026-04-01 17:15:14.788 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17550861697817 -2026-04-01 17:15:15.006 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17572485086466 -2026-04-01 17:15:15.226 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17620718352236 -2026-04-01 17:15:15.448 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17573395442422 -2026-04-01 17:15:15.738 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543971161848 -2026-04-01 17:15:15.982 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17676840392758 -2026-04-01 17:15:16.202 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543973861944 -2026-04-01 17:15:16.429 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17613993013398 -2026-04-01 17:15:16.680 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543915345493 -2026-04-01 17:15:17.039 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543915345493, size=4 -2026-04-01 17:15:17.039 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] matched via upstream scan, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=郭亚芳, shopId=27730548558377, userId=17543915345493 -2026-04-01 17:16:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:16:30.080 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:16:30.113 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:16:30.148 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:16:30.181 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:16:30.215 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:16:30.249 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:16:30.283 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:16:30.316 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:16:30.349 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:16:30.383 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:16:30.421 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:16:30.454 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:16:30.488 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:16:30.523 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:16:30.558 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:16:55.327 [http-nio-18080-exec-10] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 716, files count: 1 -2026-04-01 17:16:55.335 [http-nio-18080-exec-10] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 716, file: 郭亚芳.xlsx, chunkIndex: 1/8, processedRows: 1/8 -2026-04-01 17:16:55.390 [http-nio-18080-exec-10] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:17:13.492 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 716, files count: 1 -2026-04-01 17:17:13.501 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 716, file: 郭亚芳.xlsx, chunkIndex: 2/8, processedRows: 2/8 -2026-04-01 17:17:13.546 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:17:42.959 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 716, files count: 1 -2026-04-01 17:17:42.968 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 716, file: 郭亚芳.xlsx, chunkIndex: 3/8, processedRows: 3/8 -2026-04-01 17:17:43.109 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:18:00.450 [http-nio-18080-exec-9] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 716, files count: 1 -2026-04-01 17:18:00.458 [http-nio-18080-exec-9] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 716, file: 郭亚芳.xlsx, chunkIndex: 4/8, processedRows: 4/8 -2026-04-01 17:18:00.503 [http-nio-18080-exec-9] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:18:28.713 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 716, files count: 1 -2026-04-01 17:18:28.722 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 716, file: 郭亚芳.xlsx, chunkIndex: 5/8, processedRows: 5/8 -2026-04-01 17:18:28.767 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:18:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:18:30.078 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:18:30.112 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:18:30.148 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:18:30.181 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:18:30.215 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:18:30.249 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:18:30.282 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:18:30.315 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:18:30.349 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:18:30.383 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:18:30.416 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:18:30.449 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:18:30.483 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:18:30.517 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:18:30.547 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:18:40.618 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 716, files count: 1 -2026-04-01 17:18:40.627 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 716, file: 郭亚芳.xlsx, chunkIndex: 6/8, processedRows: 6/8 -2026-04-01 17:18:40.672 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:19:09.305 [http-nio-18080-exec-8] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 716, files count: 1 -2026-04-01 17:19:09.314 [http-nio-18080-exec-8] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 716, file: 郭亚芳.xlsx, chunkIndex: 7/8, processedRows: 7/8 -2026-04-01 17:19:09.360 [http-nio-18080-exec-8] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:19:26.732 [http-nio-18080-exec-9] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 716, files count: 1 -2026-04-01 17:19:26.741 [http-nio-18080-exec-9] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 716, file: 郭亚芳.xlsx, chunkIndex: 8/8, processedRows: 8/8 -2026-04-01 17:19:26.765 [http-nio-18080-exec-9] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] File chunk transmission fully reached via chunkTotal for taskId: 716, file: 郭亚芳.xlsx -2026-04-01 17:19:26.790 [http-nio-18080-exec-9] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask calling finalizeTask -> finishedFiles: 1, expectedFiles: 1 -2026-04-01 17:20:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:20:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:20:30.113 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:20:30.147 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:20:30.182 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:20:30.215 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:20:30.250 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:20:30.285 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:20:30.319 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:20:30.353 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:20:30.386 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:20:30.420 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:20:30.454 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:20:30.487 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:20:30.523 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:20:44.980 [http-nio-18080-exec-6] WARN o.a.coyote.http11.Http11Processor - The HTTP response header [Content-Disposition] with value [attachment; filename="郭亚芳.xlsx"; filename*=UTF-8''%E9%83%AD%E4%BA%9A%E8%8A%B3.xlsx] has been removed from the response because it is invalid -java.lang.IllegalArgumentException: The Unicode character [郭] at code point [37,101] cannot be encoded as it is outside the permitted range of 0 to 255 - at org.apache.tomcat.util.buf.MessageBytes.toBytesSimple(MessageBytes.java:310) - at org.apache.tomcat.util.buf.MessageBytes.toBytes(MessageBytes.java:283) - at org.apache.coyote.http11.Http11OutputBuffer.write(Http11OutputBuffer.java:400) - at org.apache.coyote.http11.Http11OutputBuffer.sendHeader(Http11OutputBuffer.java:379) - at org.apache.coyote.http11.Http11Processor.writeHeaders(Http11Processor.java:1070) - at org.apache.coyote.http11.Http11Processor.prepareResponse(Http11Processor.java:1057) - at org.apache.coyote.AbstractProcessor.action(AbstractProcessor.java:377) - at org.apache.coyote.Response.action(Response.java:210) - at org.apache.coyote.Response.commit(Response.java:464) - at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:290) - at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:270) - at org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:133) - at org.springframework.security.web.util.OnCommittedResponseWrapper$SaveContextServletOutputStream.flush(OnCommittedResponseWrapper.java:524) - at org.springframework.web.context.request.async.StandardServletAsyncWebRequest$LifecycleServletOutputStream.flush(StandardServletAsyncWebRequest.java:412) - at com.nanri.aiimage.modules.deletebrand.controller.DeleteBrandRunController.download(DeleteBrandRunController.java:129) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 17:22:30.050 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:22:30.090 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:22:30.124 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:22:30.168 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:22:30.203 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:22:30.236 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:22:30.275 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:22:30.309 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:22:30.354 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:22:30.421 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:22:30.458 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:22:30.490 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:22:30.529 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:22:30.562 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:22:30.594 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:24:30.071 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:24:30.110 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:24:30.149 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:24:30.183 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:24:30.221 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:24:30.258 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:24:30.343 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:24:30.379 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:24:30.412 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:24:30.447 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:24:30.481 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:24:30.515 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:24:30.549 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:24:30.583 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:24:30.618 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:26:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:26:30.080 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:26:30.113 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:26:30.147 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:26:30.183 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:26:30.217 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:26:30.251 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:26:30.286 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:26:30.319 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:26:30.353 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:26:30.387 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:26:30.448 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:26:30.482 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:26:30.567 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:26:30.602 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:28:30.061 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:28:30.097 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:28:30.130 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:28:30.164 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:28:30.196 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:28:30.229 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:28:30.262 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:28:30.295 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:28:30.327 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:28:30.360 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:28:30.393 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:28:30.425 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:28:30.458 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:28:30.491 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:28:30.523 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:30:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:30:30.080 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:30:30.114 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:30:30.148 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:30:30.181 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:30:30.216 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:30:30.250 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:30:30.284 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:30:30.318 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:30:30.352 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:30:30.386 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:30:30.419 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:30:30.453 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:30:30.486 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:30:30.521 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:32:30.128 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:32:30.310 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:32:30.413 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:32:30.487 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:32:30.539 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:32:30.585 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:32:30.628 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:32:30.697 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:32:30.732 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:32:30.768 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:32:30.801 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:32:30.836 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:32:30.869 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:32:30.903 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:32:30.937 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:34:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:34:30.080 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:34:30.114 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:34:30.149 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:34:30.182 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:34:30.216 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:34:30.251 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:34:30.285 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:34:30.318 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:34:30.352 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:34:30.386 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:34:30.421 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:34:30.456 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:34:30.491 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:34:30.525 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:35:55.102 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=6b365ddb7282, companyId=17620011426697 -2026-04-01 17:35:55.111 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, size=28 -2026-04-01 17:35:55.115 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17661276253024 -2026-04-01 17:35:55.479 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17640557016484 -2026-04-01 17:35:55.736 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17677081173068 -2026-04-01 17:35:55.961 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17666514978137 -2026-04-01 17:35:56.231 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17732777563885 -2026-04-01 17:35:56.499 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730206862305 -2026-04-01 17:35:56.731 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17643173839601 -2026-04-01 17:35:56.953 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17699988687631 -2026-04-01 17:35:57.204 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17718558697861 -2026-04-01 17:35:57.450 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17620011435996, size=11 -2026-04-01 17:35:57.454 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774727505, size=9 -2026-04-01 17:35:57.459 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729660106470, size=11 -2026-04-01 17:35:57.464 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730460291664, size=11 -2026-04-01 17:35:57.468 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17635465811898, size=0 -2026-04-01 17:35:57.473 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17748610992756, size=11 -2026-04-01 17:35:57.478 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17724161646108, size=11 -2026-04-01 17:35:57.482 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639770836314, size=9 -2026-04-01 17:35:57.487 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774271474, size=9 -2026-04-01 17:35:57.491 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771328771, size=9 -2026-04-01 17:35:57.496 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771647243, size=9 -2026-04-01 17:35:57.500 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772118514, size=9 -2026-04-01 17:35:57.505 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772482271, size=9 -2026-04-01 17:35:57.509 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772877215, size=9 -2026-04-01 17:35:57.514 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773272476, size=9 -2026-04-01 17:35:57.518 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773635592, size=9 -2026-04-01 17:35:57.523 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773959266, size=9 -2026-04-01 17:35:57.528 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729566998491, size=11 -2026-04-01 17:35:57.532 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17669217644226, size=9 -2026-04-01 17:35:57.537 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-04-01 17:35:57.542 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] hit shop-match cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=郭亚芳, shopId=27730548558377, userId=17543915345493 -2026-04-01 17:36:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:36:30.081 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:36:30.120 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:36:30.154 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:36:30.188 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:36:30.222 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:36:30.256 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:36:30.289 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:36:30.323 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:36:30.356 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:36:30.390 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:36:30.423 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:36:30.457 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:36:30.491 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:36:30.529 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:36:30.563 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:36:54.911 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 717, files count: 1 -2026-04-01 17:36:54.920 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 717, file: 郭亚芳.xlsx, chunkIndex: 1/8, processedRows: 1/8 -2026-04-01 17:36:54.965 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:37:12.298 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 717, files count: 1 -2026-04-01 17:37:12.308 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 717, file: 郭亚芳.xlsx, chunkIndex: 2/8, processedRows: 2/8 -2026-04-01 17:37:12.353 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:37:40.271 [http-nio-18080-exec-4] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 717, files count: 1 -2026-04-01 17:37:40.280 [http-nio-18080-exec-4] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 717, file: 郭亚芳.xlsx, chunkIndex: 3/8, processedRows: 3/8 -2026-04-01 17:37:40.325 [http-nio-18080-exec-4] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:37:52.008 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 717, files count: 1 -2026-04-01 17:37:52.017 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 717, file: 郭亚芳.xlsx, chunkIndex: 4/8, processedRows: 4/8 -2026-04-01 17:37:52.064 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:38:13.760 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 717, files count: 1 -2026-04-01 17:38:13.769 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 717, file: 郭亚芳.xlsx, chunkIndex: 5/8, processedRows: 5/8 -2026-04-01 17:38:13.813 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:38:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:38:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:38:30.113 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:38:30.147 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:38:30.180 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:38:30.214 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:38:30.249 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:38:30.284 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:38:30.318 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:38:30.351 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:38:30.386 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:38:30.420 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:38:30.454 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:38:30.487 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:38:30.524 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:38:30.557 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:38:31.682 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 717, files count: 1 -2026-04-01 17:38:31.688 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 717, file: 郭亚芳.xlsx, chunkIndex: 6/8, processedRows: 6/8 -2026-04-01 17:38:31.733 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:38:54.169 [http-nio-18080-exec-4] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 717, files count: 1 -2026-04-01 17:38:54.178 [http-nio-18080-exec-4] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 717, file: 郭亚芳.xlsx, chunkIndex: 7/8, processedRows: 7/8 -2026-04-01 17:38:54.222 [http-nio-18080-exec-4] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:39:12.638 [http-nio-18080-exec-4] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 717, files count: 1 -2026-04-01 17:39:12.647 [http-nio-18080-exec-4] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 717, file: 郭亚芳.xlsx, chunkIndex: 8/8, processedRows: 8/8 -2026-04-01 17:39:12.671 [http-nio-18080-exec-4] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] File chunk transmission fully reached via chunkTotal for taskId: 717, file: 郭亚芳.xlsx -2026-04-01 17:39:12.696 [http-nio-18080-exec-4] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask calling finalizeTask -> finishedFiles: 1, expectedFiles: 1 -2026-04-01 17:40:30.043 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:40:30.076 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:40:30.109 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:40:30.144 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:40:30.177 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:40:30.210 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:40:30.244 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:40:30.278 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:40:30.311 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:40:30.345 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:40:30.378 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:40:30.412 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:40:30.446 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:40:30.479 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:40:30.518 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:42:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:42:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:42:30.113 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:42:30.149 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:42:30.183 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:42:30.216 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:42:30.250 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:42:30.284 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:42:30.317 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:42:30.351 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:42:30.384 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:42:30.420 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:42:30.454 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:42:30.487 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:42:30.522 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:44:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:44:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:44:30.112 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:44:30.147 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:44:30.181 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:44:30.215 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:44:30.249 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:44:30.283 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:44:30.316 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:44:30.350 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:44:30.383 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:44:30.417 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:44:30.451 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:44:30.484 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:44:30.518 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:46:30.048 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:46:30.080 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:46:30.113 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:46:30.146 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:46:30.178 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:46:30.211 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:46:30.244 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:46:30.277 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:46:30.310 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:46:30.343 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:46:30.376 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:46:30.408 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:46:30.445 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:46:30.478 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:46:30.511 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:48:30.043 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:48:30.076 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:48:30.109 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:48:30.141 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:48:30.174 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:48:30.207 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:48:30.240 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:48:30.274 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:48:30.307 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:48:30.340 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:48:30.372 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:48:30.405 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:48:30.439 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:48:30.473 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:48:30.506 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:50:30.044 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:50:30.077 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:50:30.109 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:50:30.142 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:50:30.176 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:50:30.208 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:50:30.242 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:50:30.275 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:50:30.307 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:50:30.340 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:50:30.373 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:50:30.406 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:50:30.439 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:50:30.471 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:50:30.504 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:52:30.051 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:52:30.084 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:52:30.117 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:52:30.150 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:52:30.183 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:52:30.216 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:52:30.250 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:52:30.284 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:52:30.317 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:52:30.350 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:52:30.383 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:52:30.416 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:52:30.449 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:52:30.483 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:52:30.520 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:54:30.051 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:54:30.084 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:54:30.117 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:54:30.151 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:54:30.184 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:54:30.217 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:54:30.252 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:54:30.285 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:54:30.318 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:54:30.351 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:54:30.384 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:54:30.420 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:54:30.454 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:54:30.487 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:54:30.521 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:54:33.982 [http-nio-18080-exec-2] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource . - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 17:56:30.044 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:56:30.077 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:56:30.109 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:56:30.142 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:56:30.176 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:56:30.213 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:56:30.246 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:56:30.280 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:56:30.312 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:56:30.345 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:56:30.380 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:56:30.414 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:56:30.447 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:56:30.480 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:56:30.517 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:58:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:58:30.080 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:58:30.113 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:58:30.147 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:58:30.181 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:58:30.218 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:58:30.251 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:58:30.285 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:58:30.318 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:58:30.351 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:58:30.384 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:58:30.416 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:58:30.450 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:58:30.483 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 17:58:30.516 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:00:00.093 [scheduling-1] INFO c.n.a.m.f.s.LocalTempCleanupService - 本地临时目录清理完成: sourceDeleted=27, resultDeleted=1174, tempDir=/app/testJava/tmp -2026-04-01 18:00:30.052 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:00:30.087 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:00:30.121 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:00:30.155 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:00:30.187 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:00:30.221 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:00:30.254 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:00:30.288 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:00:30.322 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:00:30.355 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:00:30.388 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:00:30.421 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:00:30.455 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:00:30.488 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:00:30.521 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:02:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:02:30.078 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:02:30.112 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:02:30.145 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:02:30.178 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:02:30.212 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:02:30.246 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:02:30.279 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:02:30.312 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:02:30.347 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:02:30.380 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:02:30.413 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:02:30.447 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:02:30.480 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:02:30.514 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:04:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:04:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:04:30.113 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:04:30.148 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:04:30.182 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:04:30.215 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:04:30.249 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:04:30.282 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:04:30.315 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:04:30.349 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:04:30.381 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:04:30.414 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:04:30.447 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:04:30.480 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:04:30.514 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:06:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:06:30.081 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:06:30.114 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:06:30.149 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:06:30.182 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:06:30.216 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:06:30.251 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:06:30.286 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:06:30.320 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:06:30.353 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:06:30.387 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:06:30.420 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:06:30.455 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:06:30.488 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:06:30.523 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:08:08.770 [http-nio-18080-exec-6] INFO o.a.coyote.http11.Http11Processor - Error parsing HTTP request header - Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level. -java.lang.IllegalArgumentException: Invalid character found in method name [0x01!0x010x010x010x010x010x010x0a0x000x000x000x000x000x000x000x010xeb0x030x000x000x000x000x000x000x010x000x000x000x010x000x000x000x010x110x010x010x010x010x020x010x010x00...]. HTTP method names must be tokens - at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:409) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:270) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 18:08:24.305 [http-nio-18080-exec-1] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource . - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 18:08:30.052 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:08:30.085 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:08:30.118 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:08:30.151 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:08:30.184 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:08:30.219 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:08:30.253 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:08:30.286 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:08:30.319 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:08:30.351 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:08:30.384 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:08:30.418 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:08:30.452 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:08:30.486 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:08:30.523 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:10:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:10:30.078 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:10:30.112 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:10:30.146 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:10:30.180 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:10:30.213 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:10:30.247 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:10:30.280 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:10:30.313 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:10:30.347 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:10:30.381 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:10:30.413 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:10:30.451 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:10:30.484 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:10:30.517 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:12:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:12:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:12:30.112 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:12:30.146 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:12:30.180 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:12:30.213 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:12:30.247 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:12:30.282 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:12:30.316 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:12:30.348 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:12:30.381 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:12:30.415 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:12:30.449 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:12:30.482 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:12:30.518 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:14:30.044 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:14:30.077 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:14:30.110 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:14:30.144 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:14:30.177 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:14:30.209 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:14:30.244 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:14:30.279 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:14:30.311 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:14:30.346 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:14:30.378 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:14:30.411 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:14:30.445 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:14:30.478 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:14:30.511 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:16:30.053 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:16:30.089 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:16:30.123 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:16:30.158 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:16:30.193 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:16:30.226 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:16:30.260 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:16:30.294 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:16:30.328 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:16:30.362 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:16:30.396 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:16:30.430 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:16:30.464 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:16:30.498 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:16:30.537 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:18:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:18:30.080 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:18:30.113 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:18:30.147 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:18:30.181 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:18:30.214 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:18:30.248 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:18:30.283 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:18:30.317 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:18:30.351 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:18:30.386 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:18:30.420 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:18:30.453 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:18:30.487 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:18:30.522 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:20:30.053 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:20:30.086 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:20:30.120 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:20:30.154 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:20:30.188 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:20:30.222 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:20:30.258 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:20:30.293 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:20:30.328 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:20:30.360 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:20:30.395 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:20:30.430 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:20:30.464 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:20:30.499 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:20:30.536 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:22:30.224 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:22:30.297 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:22:30.440 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:22:30.486 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:22:30.544 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:22:30.591 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:22:30.660 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:22:30.704 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:22:30.764 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:22:30.801 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:22:30.837 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:22:30.873 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:22:30.908 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:22:30.951 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:22:30.987 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:24:30.053 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:24:30.087 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:24:30.122 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:24:30.158 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:24:30.193 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:24:30.228 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:24:30.265 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:24:30.299 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:24:30.334 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:24:30.372 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:24:30.413 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:24:30.448 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:24:30.483 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:24:30.517 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:24:30.556 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:26:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:26:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:26:30.119 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:26:30.154 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:26:30.190 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:26:30.226 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:26:30.264 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:26:30.299 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:26:30.334 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:26:30.370 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:26:30.413 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:26:30.448 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:26:30.486 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:26:30.526 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:26:30.568 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:28:30.043 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:28:30.094 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:28:30.131 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:28:30.170 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:28:30.205 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:28:30.241 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:28:30.285 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:28:30.319 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:28:30.356 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:28:30.392 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:28:30.426 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:28:30.465 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:28:30.517 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:28:30.552 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:28:30.586 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:30:30.049 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:30:30.083 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:30:30.118 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:30:30.158 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:30:30.198 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:30:30.232 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:30:30.268 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:30:30.302 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:30:30.335 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:30:30.372 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:30:30.433 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:30:30.476 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:30:30.515 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:30:30.550 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:30:30.585 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:32:30.046 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:32:30.080 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:32:30.113 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:32:30.150 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:32:30.184 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:32:30.218 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:32:30.253 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:32:30.288 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:32:30.322 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:32:30.357 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:32:30.392 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:32:30.426 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:32:30.461 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:32:30.495 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:32:30.535 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:34:30.044 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:34:30.082 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:34:30.119 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:34:30.153 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:34:30.188 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:34:30.224 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:34:30.259 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:34:30.292 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:34:30.326 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:34:30.361 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:34:30.395 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:34:30.429 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:34:30.466 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:34:30.499 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:34:30.537 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:34:39.530 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=6b365ddb7282, companyId=17620011426697 -2026-04-01 18:34:39.574 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697 -2026-04-01 18:34:40.106 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, size=28 -2026-04-01 18:34:40.110 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17661276253024 -2026-04-01 18:34:40.393 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17640557016484 -2026-04-01 18:34:40.682 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17677081173068 -2026-04-01 18:34:40.909 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17666514978137 -2026-04-01 18:34:41.174 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17732777563885 -2026-04-01 18:34:41.634 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730206862305 -2026-04-01 18:34:41.865 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17643173839601 -2026-04-01 18:34:42.137 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17699988687631 -2026-04-01 18:34:42.378 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17718558697861 -2026-04-01 18:34:42.638 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17620011435996 -2026-04-01 18:34:42.993 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17620011435996, size=11 -2026-04-01 18:34:43.011 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774727505 -2026-04-01 18:34:43.440 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774727505, size=9 -2026-04-01 18:34:43.458 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729660106470 -2026-04-01 18:34:43.914 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729660106470, size=11 -2026-04-01 18:34:43.931 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730460291664 -2026-04-01 18:34:44.327 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730460291664, size=11 -2026-04-01 18:34:44.345 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17635465811898 -2026-04-01 18:34:44.748 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17635465811898, size=0 -2026-04-01 18:34:44.765 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17748610992756 -2026-04-01 18:34:45.130 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17748610992756, size=11 -2026-04-01 18:34:45.147 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17724161646108 -2026-04-01 18:34:45.549 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17724161646108, size=11 -2026-04-01 18:34:45.567 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639770836314 -2026-04-01 18:34:45.941 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639770836314, size=9 -2026-04-01 18:34:45.960 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774271474 -2026-04-01 18:34:46.351 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774271474, size=9 -2026-04-01 18:34:46.369 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771328771 -2026-04-01 18:34:46.759 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771328771, size=9 -2026-04-01 18:34:46.776 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771647243 -2026-04-01 18:34:47.172 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771647243, size=9 -2026-04-01 18:34:47.189 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772118514 -2026-04-01 18:34:47.556 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772118514, size=9 -2026-04-01 18:34:47.575 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772482271 -2026-04-01 18:34:48.019 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772482271, size=9 -2026-04-01 18:34:48.038 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772877215 -2026-04-01 18:34:48.436 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772877215, size=9 -2026-04-01 18:34:48.454 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773272476 -2026-04-01 18:34:48.855 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773272476, size=9 -2026-04-01 18:34:48.873 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773635592 -2026-04-01 18:34:49.251 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773635592, size=9 -2026-04-01 18:34:49.270 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773959266 -2026-04-01 18:34:49.646 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773959266, size=9 -2026-04-01 18:34:49.664 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729566998491 -2026-04-01 18:34:50.032 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729566998491, size=11 -2026-04-01 18:34:50.050 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17669217644226 -2026-04-01 18:34:50.478 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=6b365ddb7282, companyId=17620011426697, userId=17669217644226, size=9 -2026-04-01 18:34:50.483 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-04-01 18:34:50.517 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-04-01 18:34:50.951 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cached upstream result, keyHash=e4ade5d7ed7e, companyId=17543915349961, size=22 -2026-04-01 18:34:50.956 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17719218431526 -2026-04-01 18:34:51.183 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17633627241792 -2026-04-01 18:34:51.430 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17549810616820 -2026-04-01 18:34:51.738 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17550861697817 -2026-04-01 18:34:52.017 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17572485086466 -2026-04-01 18:34:52.257 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17620718352236 -2026-04-01 18:34:52.500 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17573395442422 -2026-04-01 18:34:52.728 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543971161848 -2026-04-01 18:34:52.990 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17676840392758 -2026-04-01 18:34:53.232 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543973861944 -2026-04-01 18:34:53.452 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17613993013398 -2026-04-01 18:34:53.707 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543915345493 -2026-04-01 18:34:54.056 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543915345493, size=4 -2026-04-01 18:34:54.056 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] matched via upstream scan, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=郭亚芳, shopId=27730548558377, userId=17543915345493 -2026-04-01 18:35:45.253 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 723, files count: 1 -2026-04-01 18:35:45.281 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 723, file: 郭亚芳.xlsx, chunkIndex: 1/8, processedRows: 1/8 -2026-04-01 18:35:45.330 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:36:02.689 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 723, files count: 1 -2026-04-01 18:36:02.698 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 723, file: 郭亚芳.xlsx, chunkIndex: 2/8, processedRows: 2/8 -2026-04-01 18:36:02.746 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:36:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:36:30.081 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:36:30.115 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:36:30.151 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:36:30.184 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:36:30.218 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:36:30.253 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:36:30.288 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:36:30.322 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:36:30.356 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:36:30.390 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:36:30.424 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:36:30.458 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:36:30.500 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:36:30.542 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:36:30.586 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:36:30.673 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 723, files count: 1 -2026-04-01 18:36:30.679 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 723, file: 郭亚芳.xlsx, chunkIndex: 3/8, processedRows: 3/8 -2026-04-01 18:36:30.726 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:36:47.727 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 723, files count: 1 -2026-04-01 18:36:47.736 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 723, file: 郭亚芳.xlsx, chunkIndex: 4/8, processedRows: 4/8 -2026-04-01 18:36:47.785 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:37:16.207 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 723, files count: 1 -2026-04-01 18:37:16.216 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 723, file: 郭亚芳.xlsx, chunkIndex: 5/8, processedRows: 5/8 -2026-04-01 18:37:16.262 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:37:34.163 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 723, files count: 1 -2026-04-01 18:37:34.172 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 723, file: 郭亚芳.xlsx, chunkIndex: 6/8, processedRows: 6/8 -2026-04-01 18:37:34.216 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:38:01.584 [http-nio-18080-exec-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 723, files count: 1 -2026-04-01 18:38:01.593 [http-nio-18080-exec-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 723, file: 郭亚芳.xlsx, chunkIndex: 7/8, processedRows: 7/8 -2026-04-01 18:38:01.640 [http-nio-18080-exec-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:38:19.827 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 723, files count: 1 -2026-04-01 18:38:19.837 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 723, file: 郭亚芳.xlsx, chunkIndex: 8/8, processedRows: 8/8 -2026-04-01 18:38:19.861 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] File chunk transmission fully reached via chunkTotal for taskId: 723, file: 郭亚芳.xlsx -2026-04-01 18:38:19.886 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask calling finalizeTask -> finishedFiles: 1, expectedFiles: 1 -2026-04-01 18:38:30.044 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:38:30.079 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:38:30.113 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:38:30.148 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:38:30.182 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:38:30.216 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:38:30.252 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:38:30.287 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:38:30.321 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:38:30.358 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:38:30.392 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:38:30.426 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:38:30.463 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:38:30.497 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:38:30.532 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:40:30.047 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:40:30.089 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:40:30.123 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:40:30.158 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:40:30.192 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:40:30.226 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:40:30.261 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:40:30.295 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:40:30.328 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:40:30.363 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:40:30.396 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:40:30.430 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:40:30.465 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:40:30.499 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:40:30.534 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:42:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:42:30.080 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:42:30.113 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:42:30.147 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:42:30.181 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:42:30.214 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:42:30.248 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:42:30.282 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:42:30.315 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:42:30.350 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:42:30.383 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:42:30.417 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:42:30.451 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:42:30.485 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:42:30.519 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:44:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:44:30.080 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:44:30.114 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:44:30.148 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:44:30.182 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:44:30.215 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:44:30.253 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:44:30.287 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:44:30.320 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:44:30.354 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:44:30.387 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:44:30.421 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:44:30.456 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:44:30.489 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:44:30.526 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:46:24.709 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=6b365ddb7282, companyId=17620011426697 -2026-04-01 18:46:24.717 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, size=28 -2026-04-01 18:46:24.721 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17661276253024 -2026-04-01 18:46:25.108 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17640557016484 -2026-04-01 18:46:25.380 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17677081173068 -2026-04-01 18:46:25.612 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17666514978137 -2026-04-01 18:46:25.835 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17732777563885 -2026-04-01 18:46:26.064 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730206862305 -2026-04-01 18:46:26.291 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17643173839601 -2026-04-01 18:46:26.527 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17699988687631 -2026-04-01 18:46:26.762 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17718558697861 -2026-04-01 18:46:27.022 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17620011435996, size=11 -2026-04-01 18:46:27.027 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774727505, size=9 -2026-04-01 18:46:27.031 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729660106470, size=11 -2026-04-01 18:46:27.035 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730460291664, size=11 -2026-04-01 18:46:27.040 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17635465811898, size=0 -2026-04-01 18:46:27.044 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17748610992756, size=11 -2026-04-01 18:46:27.049 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17724161646108, size=11 -2026-04-01 18:46:27.053 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639770836314, size=9 -2026-04-01 18:46:27.057 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774271474, size=9 -2026-04-01 18:46:27.061 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771328771, size=9 -2026-04-01 18:46:27.065 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771647243, size=9 -2026-04-01 18:46:27.069 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772118514, size=9 -2026-04-01 18:46:27.073 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772482271, size=9 -2026-04-01 18:46:27.078 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772877215, size=9 -2026-04-01 18:46:27.082 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773272476, size=9 -2026-04-01 18:46:27.086 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773635592, size=9 -2026-04-01 18:46:27.090 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773959266, size=9 -2026-04-01 18:46:27.094 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729566998491, size=11 -2026-04-01 18:46:27.098 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17669217644226, size=9 -2026-04-01 18:46:27.102 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-04-01 18:46:27.106 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] hit shop-match cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=郭亚芳, shopId=27730548558377, userId=17543915345493 -2026-04-01 18:46:27.532 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=6b365ddb7282, companyId=17620011426697 -2026-04-01 18:46:27.541 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, size=28 -2026-04-01 18:46:27.545 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17661276253024 -2026-04-01 18:46:27.780 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17640557016484 -2026-04-01 18:46:28.013 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17677081173068 -2026-04-01 18:46:28.326 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17666514978137 -2026-04-01 18:46:28.562 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17732777563885 -2026-04-01 18:46:28.848 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730206862305 -2026-04-01 18:46:29.077 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17643173839601 -2026-04-01 18:46:29.305 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17699988687631 -2026-04-01 18:46:29.581 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=6b365ddb7282, companyId=17620011426697, userId=17718558697861 -2026-04-01 18:46:29.805 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17620011435996, size=11 -2026-04-01 18:46:29.809 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774727505, size=9 -2026-04-01 18:46:29.813 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729660106470, size=11 -2026-04-01 18:46:29.818 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17730460291664, size=11 -2026-04-01 18:46:29.822 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17635465811898, size=0 -2026-04-01 18:46:29.826 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17748610992756, size=11 -2026-04-01 18:46:29.830 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17724161646108, size=11 -2026-04-01 18:46:29.834 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639770836314, size=9 -2026-04-01 18:46:29.838 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639774271474, size=9 -2026-04-01 18:46:29.843 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771328771, size=9 -2026-04-01 18:46:29.847 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639771647243, size=9 -2026-04-01 18:46:29.851 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772118514, size=9 -2026-04-01 18:46:29.855 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772482271, size=9 -2026-04-01 18:46:29.860 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639772877215, size=9 -2026-04-01 18:46:29.864 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773272476, size=9 -2026-04-01 18:46:29.869 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773635592, size=9 -2026-04-01 18:46:29.873 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17639773959266, size=9 -2026-04-01 18:46:29.877 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17729566998491, size=11 -2026-04-01 18:46:29.881 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=6b365ddb7282, companyId=17620011426697, userId=17669217644226, size=9 -2026-04-01 18:46:29.885 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-04-01 18:46:29.905 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, size=22 -2026-04-01 18:46:29.909 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17719218431526 -2026-04-01 18:46:30.043 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:46:30.075 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:46:30.107 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:46:30.140 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:46:30.172 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:46:30.205 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17633627241792 -2026-04-01 18:46:30.215 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:46:30.253 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:46:30.286 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:46:30.319 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:46:30.352 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:46:30.385 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:46:30.417 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:46:30.424 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17549810616820 -2026-04-01 18:46:30.450 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:46:30.482 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:46:30.517 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:46:30.690 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17550861697817 -2026-04-01 18:46:30.974 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17572485086466 -2026-04-01 18:46:31.209 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17620718352236 -2026-04-01 18:46:31.454 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17573395442422 -2026-04-01 18:46:31.681 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543971161848 -2026-04-01 18:46:31.918 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17676840392758 -2026-04-01 18:46:32.141 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543973861944 -2026-04-01 18:46:32.366 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17613993013398 -2026-04-01 18:46:32.587 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543915345493, size=4 -2026-04-01 18:46:32.587 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] matched via upstream scan, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=魏振峰, shopId=27543917795757, userId=17543915345493 -2026-04-01 18:47:40.106 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 724, files count: 1 -2026-04-01 18:47:40.116 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 724, file: 郭亚芳.xlsx, chunkIndex: 1/24, processedRows: 1/24 -2026-04-01 18:47:40.162 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (2) -2026-04-01 18:47:57.499 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 724, files count: 1 -2026-04-01 18:47:57.509 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 724, file: 郭亚芳.xlsx, chunkIndex: 2/24, processedRows: 2/24 -2026-04-01 18:47:57.554 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (2) -2026-04-01 18:48:08.008 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 724, files count: 1 -2026-04-01 18:48:08.018 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 724, file: 郭亚芳.xlsx, chunkIndex: 3/24, processedRows: 3/24 -2026-04-01 18:48:08.063 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (2) -2026-04-01 18:48:19.639 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 724, files count: 1 -2026-04-01 18:48:19.649 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 724, file: 郭亚芳.xlsx, chunkIndex: 4/24, processedRows: 4/24 -2026-04-01 18:48:19.694 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (2) -2026-04-01 18:48:30.015 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 724, files count: 1 -2026-04-01 18:48:30.025 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 724, file: 郭亚芳.xlsx, chunkIndex: 5/24, processedRows: 5/24 -2026-04-01 18:48:30.050 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:48:30.084 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:48:30.087 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (2) -2026-04-01 18:48:30.117 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:48:30.152 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:48:30.185 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:48:30.218 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:48:30.251 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:48:30.283 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:48:30.315 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:48:30.349 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:48:30.381 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:48:30.414 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:48:30.447 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:48:30.481 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:48:30.517 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:48:30.547 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (2) -2026-04-01 18:48:44.828 [http-nio-18080-exec-10] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 724, files count: 1 -2026-04-01 18:48:44.839 [http-nio-18080-exec-10] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 724, file: 郭亚芳.xlsx, chunkIndex: 6/24, processedRows: 6/24 -2026-04-01 18:48:44.884 [http-nio-18080-exec-10] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (2) -2026-04-01 18:49:30.495 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 724, files count: 1 -2026-04-01 18:49:30.505 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 724, file: 郭亚芳.xlsx, chunkIndex: 7/24, processedRows: 7/24 -2026-04-01 18:49:30.551 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (2) -2026-04-01 18:49:47.835 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 724, files count: 1 -2026-04-01 18:49:47.846 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 724, file: 郭亚芳.xlsx, chunkIndex: 8/24, processedRows: 8/24 -2026-04-01 18:49:47.892 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (2) -2026-04-01 18:49:57.706 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 724, files count: 1 -2026-04-01 18:49:57.716 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 724, file: 郭亚芳.xlsx, chunkIndex: 9/24, processedRows: 9/24 -2026-04-01 18:49:57.762 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (2) -2026-04-01 18:50:08.247 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 724, files count: 1 -2026-04-01 18:50:08.257 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 724, file: 郭亚芳.xlsx, chunkIndex: 10/24, processedRows: 10/24 -2026-04-01 18:50:08.304 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (2) -2026-04-01 18:50:18.290 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 724, files count: 1 -2026-04-01 18:50:18.302 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 724, file: 郭亚芳.xlsx, chunkIndex: 11/24, processedRows: 11/24 -2026-04-01 18:50:18.350 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (2) -2026-04-01 18:50:28.645 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 724, files count: 1 -2026-04-01 18:50:28.655 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 724, file: 郭亚芳.xlsx, chunkIndex: 12/24, processedRows: 12/24 -2026-04-01 18:50:28.700 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (2) -2026-04-01 18:50:30.042 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:50:30.075 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:50:30.107 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:50:30.139 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:50:30.174 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:50:30.206 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:50:30.238 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:50:30.271 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:50:30.303 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:50:30.336 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:50:30.369 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:50:30.401 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:50:30.433 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:50:30.465 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:50:30.498 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:50:30.529 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (2) -2026-04-01 18:51:10.613 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 724, files count: 1 -2026-04-01 18:51:10.623 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 724, file: 郭亚芳.xlsx, chunkIndex: 13/24, processedRows: 13/24 -2026-04-01 18:51:10.672 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (2) -2026-04-01 18:51:27.782 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 724, files count: 1 -2026-04-01 18:51:27.792 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 724, file: 郭亚芳.xlsx, chunkIndex: 14/24, processedRows: 14/24 -2026-04-01 18:51:27.838 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (2) -2026-04-01 18:51:37.832 [http-nio-18080-exec-4] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 724, files count: 1 -2026-04-01 18:51:37.842 [http-nio-18080-exec-4] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 724, file: 郭亚芳.xlsx, chunkIndex: 15/24, processedRows: 15/24 -2026-04-01 18:51:37.887 [http-nio-18080-exec-4] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (2) -2026-04-01 18:51:47.764 [http-nio-18080-exec-10] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 724, files count: 1 -2026-04-01 18:51:47.775 [http-nio-18080-exec-10] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 724, file: 郭亚芳.xlsx, chunkIndex: 16/24, processedRows: 16/24 -2026-04-01 18:51:47.820 [http-nio-18080-exec-10] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (2) -2026-04-01 18:51:57.387 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 724, files count: 1 -2026-04-01 18:51:57.398 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 724, file: 郭亚芳.xlsx, chunkIndex: 17/24, processedRows: 17/24 -2026-04-01 18:51:57.444 [http-nio-18080-exec-6] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (2) -2026-04-01 18:52:07.203 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 724, files count: 1 -2026-04-01 18:52:07.214 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 724, file: 郭亚芳.xlsx, chunkIndex: 18/24, processedRows: 18/24 -2026-04-01 18:52:07.262 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (2) -2026-04-01 18:52:30.051 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:52:30.084 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:52:30.118 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:52:30.151 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:52:30.184 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:52:30.217 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:52:30.251 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:52:30.284 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:52:30.317 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:52:30.349 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:52:30.382 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:52:30.416 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:52:30.450 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:52:30.482 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:52:30.516 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:52:30.554 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (2) -2026-04-01 18:52:48.188 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 724, files count: 1 -2026-04-01 18:52:48.198 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 724, file: 郭亚芳.xlsx, chunkIndex: 19/24, processedRows: 19/24 -2026-04-01 18:52:48.244 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (2) -2026-04-01 18:53:05.108 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 724, files count: 1 -2026-04-01 18:53:05.119 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 724, file: 郭亚芳.xlsx, chunkIndex: 20/24, processedRows: 20/24 -2026-04-01 18:53:05.163 [http-nio-18080-exec-2] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (2) -2026-04-01 18:53:15.166 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 724, files count: 1 -2026-04-01 18:53:15.176 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 724, file: 郭亚芳.xlsx, chunkIndex: 21/24, processedRows: 21/24 -2026-04-01 18:53:15.221 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (2) -2026-04-01 18:53:25.281 [http-nio-18080-exec-4] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 724, files count: 1 -2026-04-01 18:53:25.292 [http-nio-18080-exec-4] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 724, file: 郭亚芳.xlsx, chunkIndex: 22/24, processedRows: 22/24 -2026-04-01 18:53:25.337 [http-nio-18080-exec-4] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (2) -2026-04-01 18:53:34.800 [http-nio-18080-exec-10] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 724, files count: 1 -2026-04-01 18:53:34.811 [http-nio-18080-exec-10] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 724, file: 郭亚芳.xlsx, chunkIndex: 23/24, processedRows: 23/24 -2026-04-01 18:53:34.857 [http-nio-18080-exec-10] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (2) -2026-04-01 18:53:44.193 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] Received submitResult for taskId: 724, files count: 1 -2026-04-01 18:53:44.204 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] submitResult processing chunk -> taskId: 724, file: 郭亚芳.xlsx, chunkIndex: 24/24, processedRows: 24/24 -2026-04-01 18:53:44.228 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] File chunk transmission fully reached via chunkTotal for taskId: 724, file: 郭亚芳.xlsx -2026-04-01 18:53:44.253 [http-nio-18080-exec-5] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (1) < expectedFiles (2) -2026-04-01 18:54:30.044 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:54:30.077 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:54:30.110 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:54:30.146 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:54:30.179 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:54:30.212 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:54:30.246 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:54:30.279 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:54:30.312 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:54:30.345 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:54:30.380 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:54:30.413 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:54:30.446 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:54:30.479 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:54:30.514 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:54:30.550 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (1) < expectedFiles (2) -2026-04-01 18:56:05.459 [http-nio-18080-exec-10] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.server.ResponseStatusException: 404 NOT_FOUND "任务无可下载结果" - at com.nanri.aiimage.modules.deletebrand.controller.DeleteBrandRunController.download(DeleteBrandRunController.java:111) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-04-01 18:56:30.045 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:56:30.080 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:56:30.112 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:56:30.145 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:56:30.179 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:56:30.212 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:56:30.245 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:56:30.279 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:56:30.311 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:56:30.344 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:56:30.379 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:56:30.411 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:56:30.445 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:56:30.483 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:56:30.516 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:56:30.551 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (1) < expectedFiles (2) -2026-04-01 18:58:30.051 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:58:30.084 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:58:30.116 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:58:30.149 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:58:30.188 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:58:30.221 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:58:30.254 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:58:30.286 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:58:30.318 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:58:30.351 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:58:30.384 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:58:30.416 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:58:30.450 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:58:30.483 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:58:30.517 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 18:58:30.551 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (1) < expectedFiles (2) -2026-04-01 19:00:30.044 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:00:30.077 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:00:30.109 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:00:30.143 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:00:30.175 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:00:30.208 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:00:30.241 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:00:30.273 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:00:30.307 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:00:30.352 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:00:30.385 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:00:30.417 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:00:30.450 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:00:30.482 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:00:30.516 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:00:30.554 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (1) < expectedFiles (2) -2026-04-01 19:02:30.043 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:02:30.076 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:02:30.108 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:02:30.142 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:02:30.174 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:02:30.207 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:02:30.240 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:02:30.273 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:02:30.306 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:02:30.339 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:02:30.371 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:02:30.404 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:02:30.437 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:02:30.469 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:02:30.502 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:02:30.540 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (1) < expectedFiles (2) -2026-04-01 19:04:30.043 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:04:30.077 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:04:30.110 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:04:30.142 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:04:30.175 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:04:30.207 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:04:30.240 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:04:30.272 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:04:30.304 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:04:30.336 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:04:30.368 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:04:30.402 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:04:30.434 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:04:30.466 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:04:30.499 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:04:30.537 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (1) < expectedFiles (2) -2026-04-01 19:06:30.044 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:06:30.077 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:06:30.110 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:06:30.143 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:06:30.175 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:06:30.210 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:06:30.244 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:06:30.277 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:06:30.310 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:06:30.342 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:06:30.375 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:06:30.407 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:06:30.440 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:06:30.475 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:06:30.512 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:06:30.550 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (1) < expectedFiles (2) -2026-04-01 19:08:30.044 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:08:30.077 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:08:30.110 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:08:30.144 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:08:30.176 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:08:30.211 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:08:30.244 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:08:30.277 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:08:30.310 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:08:30.343 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:08:30.376 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:08:30.409 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:08:30.444 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:08:30.477 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:08:30.515 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:08:30.553 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (1) < expectedFiles (2) -2026-04-01 19:10:30.043 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:10:30.075 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:10:30.108 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:10:30.141 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:10:30.173 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:10:30.206 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:10:30.238 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:10:30.271 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:10:30.303 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:10:30.336 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:10:30.369 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:10:30.401 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:10:30.434 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:10:30.466 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:10:30.498 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:10:30.538 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (1) < expectedFiles (2) -2026-04-01 19:12:30.044 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:12:30.077 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:12:30.109 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:12:30.141 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:12:30.174 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:12:30.207 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:12:30.240 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:12:30.273 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:12:30.305 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:12:30.340 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:12:30.373 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:12:30.405 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:12:30.439 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:12:30.475 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:12:30.507 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:12:30.542 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (1) < expectedFiles (2) -2026-04-01 19:14:30.044 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:14:30.077 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:14:30.110 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:14:30.144 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:14:30.176 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:14:30.209 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:14:30.243 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:14:30.276 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:14:30.312 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:14:30.346 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:14:30.378 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:14:30.411 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:14:30.444 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:14:30.477 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:14:30.510 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (0) < expectedFiles (1) -2026-04-01 19:14:30.546 [scheduling-1] INFO c.n.a.m.d.s.DeleteBrandRunService - [DeleteBrand] tryFinalizeTask skipping -> finishedFiles (1) < expectedFiles (2) diff --git a/backend-java/aiimage-backend.log.2026-03-26.0.gz b/backend-java/aiimage-backend.log.2026-03-26.0.gz deleted file mode 100644 index 73d614c74da1e2d21989a2efa38825d6dcc11138..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94957 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 diff --git a/backend-java/aiimage-backend.log.2026-03-28.0258380216510400.tmp b/backend-java/aiimage-backend.log.2026-03-28.0258380216510400.tmp deleted file mode 100644 index 1dd9769..0000000 --- a/backend-java/aiimage-backend.log.2026-03-28.0258380216510400.tmp +++ /dev/null @@ -1,4449 +0,0 @@ -2026-03-28 22:35:13.308 [http-nio-18080-exec-4] WARN o.s.c.u.SpringDocAnnotationsUtils - Graceful exception occurred -java.lang.TypeNotPresentException: Type com.nanri.aiimage.modules.convert.model.dto.UploadedSourceFileDto not present - at java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:117) - at java.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125) - at java.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) - at java.base/sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:68) - at java.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:138) - at java.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) - at java.base/sun.reflect.generics.repository.MethodRepository.computeReturnType(MethodRepository.java:75) - at java.base/sun.reflect.generics.repository.MethodRepository.getReturnType(MethodRepository.java:66) - at java.base/java.lang.reflect.Method.getGenericReturnType(Method.java:299) - at com.fasterxml.jackson.databind.introspect.AnnotatedMethod.getType(AnnotatedMethod.java:77) - at io.swagger.v3.core.jackson.ModelResolver.resolve(ModelResolver.java:627) - at org.springdoc.core.converters.WebFluxSupportConverter.resolve(WebFluxSupportConverter.java:86) - at org.springdoc.core.converters.AdditionalModelsConverter.resolve(AdditionalModelsConverter.java:155) - at org.springdoc.core.converters.FileSupportConverter.resolve(FileSupportConverter.java:69) - at org.springdoc.core.converters.ResponseSupportConverter.resolve(ResponseSupportConverter.java:79) - at org.springdoc.core.converters.SchemaPropertyDeprecatingConverter.resolve(SchemaPropertyDeprecatingConverter.java:92) - at org.springdoc.core.converters.PolymorphicModelConverter.resolve(PolymorphicModelConverter.java:77) - at org.springdoc.core.converters.PageableOpenAPIConverter.resolve(PageableOpenAPIConverter.java:93) - at org.springdoc.core.converters.SortOpenAPIConverter.resolve(SortOpenAPIConverter.java:83) - at io.swagger.v3.core.converter.ModelConverterContextImpl.resolve(ModelConverterContextImpl.java:97) - at io.swagger.v3.core.converter.ModelConverters.resolveAsResolvedSchema(ModelConverters.java:153) - at org.springdoc.core.utils.SpringDocAnnotationsUtils.extractSchema(SpringDocAnnotationsUtils.java:126) - at org.springdoc.core.service.GenericParameterService.calculateSchema(GenericParameterService.java:374) - at org.springdoc.core.service.RequestBodyService.buildRequestBody(RequestBodyService.java:281) - at org.springdoc.core.service.RequestBodyService.calculateRequestBodyInfo(RequestBodyService.java:257) - at org.springdoc.core.service.AbstractRequestService.build(AbstractRequestService.java:343) - at org.springdoc.api.AbstractOpenApiResource.calculatePath(AbstractOpenApiResource.java:496) - at org.springdoc.api.AbstractOpenApiResource.calculatePath(AbstractOpenApiResource.java:676) - at org.springdoc.webmvc.api.OpenApiResource.lambda$calculatePath$11(OpenApiResource.java:219) - at java.base/java.util.Optional.ifPresent(Optional.java:178) - at org.springdoc.webmvc.api.OpenApiResource.calculatePath(OpenApiResource.java:200) - at org.springdoc.webmvc.api.OpenApiResource.lambda$getPaths$2(OpenApiResource.java:170) - at java.base/java.util.Optional.ifPresent(Optional.java:178) - at org.springdoc.webmvc.api.OpenApiResource.getPaths(OpenApiResource.java:149) - at org.springdoc.api.AbstractOpenApiResource.getOpenApi(AbstractOpenApiResource.java:353) - at org.springdoc.webmvc.api.OpenApiResource.openapiJson(OpenApiResource.java:124) - at org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson(OpenApiWebMvcResource.java:111) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.lang.ClassNotFoundException: com.nanri.aiimage.modules.convert.model.dto.UploadedSourceFileDto - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) - at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) - at java.base/java.lang.Class.forName0(Native Method) - at java.base/java.lang.Class.forName(Class.java:536) - at java.base/java.lang.Class.forName(Class.java:515) - at java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114) - ... 163 common frames omitted -2026-03-28 22:35:13.326 [http-nio-18080-exec-4] WARN o.s.c.u.SpringDocAnnotationsUtils - Graceful exception occurred -java.lang.TypeNotPresentException: Type com.nanri.aiimage.modules.brand.model.vo.BrandCrawlPayloadVo$BrandCrawlPayloadFileVo not present - at java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:117) - at java.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125) - at java.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) - at java.base/sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:68) - at java.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:138) - at java.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) - at java.base/sun.reflect.generics.repository.ConstructorRepository.computeParameterTypes(ConstructorRepository.java:111) - at java.base/sun.reflect.generics.repository.ConstructorRepository.getParameterTypes(ConstructorRepository.java:87) - at java.base/java.lang.reflect.Executable.getGenericParameterTypes(Executable.java:333) - at java.base/java.lang.reflect.Method.getGenericParameterTypes(Method.java:337) - at com.fasterxml.jackson.databind.introspect.AnnotatedMethod.getParameterType(AnnotatedMethod.java:141) - at com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder._rawTypeOf(POJOPropertyBuilder.java:1425) - at com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder._getSetterInfo(POJOPropertyBuilder.java:288) - at com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.getMetadata(POJOPropertyBuilder.java:239) - at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector._anyIndexed(POJOPropertiesCollector.java:1376) - at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector._sortProperties(POJOPropertiesCollector.java:1278) - at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.collectAll(POJOPropertiesCollector.java:529) - at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.getPropertyMap(POJOPropertiesCollector.java:413) - at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.getProperties(POJOPropertiesCollector.java:255) - at com.fasterxml.jackson.databind.introspect.BasicBeanDescription._properties(BasicBeanDescription.java:164) - at com.fasterxml.jackson.databind.introspect.BasicBeanDescription.findProperties(BasicBeanDescription.java:239) - at io.swagger.v3.core.jackson.ModelResolver.resolveAccessMode(ModelResolver.java:1949) - at io.swagger.v3.core.jackson.ModelResolver.resolve(ModelResolver.java:662) - at org.springdoc.core.converters.WebFluxSupportConverter.resolve(WebFluxSupportConverter.java:86) - at org.springdoc.core.converters.AdditionalModelsConverter.resolve(AdditionalModelsConverter.java:155) - at org.springdoc.core.converters.FileSupportConverter.resolve(FileSupportConverter.java:69) - at org.springdoc.core.converters.ResponseSupportConverter.resolve(ResponseSupportConverter.java:79) - at org.springdoc.core.converters.SchemaPropertyDeprecatingConverter.resolve(SchemaPropertyDeprecatingConverter.java:92) - at org.springdoc.core.converters.PolymorphicModelConverter.resolve(PolymorphicModelConverter.java:77) - at org.springdoc.core.converters.PageableOpenAPIConverter.resolve(PageableOpenAPIConverter.java:93) - at org.springdoc.core.converters.SortOpenAPIConverter.resolve(SortOpenAPIConverter.java:83) - at io.swagger.v3.core.converter.ModelConverterContextImpl.resolve(ModelConverterContextImpl.java:97) - at io.swagger.v3.core.jackson.ModelResolver.resolve(ModelResolver.java:706) - at org.springdoc.core.converters.WebFluxSupportConverter.resolve(WebFluxSupportConverter.java:86) - at org.springdoc.core.converters.AdditionalModelsConverter.resolve(AdditionalModelsConverter.java:155) - at org.springdoc.core.converters.FileSupportConverter.resolve(FileSupportConverter.java:69) - at org.springdoc.core.converters.ResponseSupportConverter.resolve(ResponseSupportConverter.java:79) - at org.springdoc.core.converters.SchemaPropertyDeprecatingConverter.resolve(SchemaPropertyDeprecatingConverter.java:92) - at org.springdoc.core.converters.PolymorphicModelConverter.resolve(PolymorphicModelConverter.java:77) - at org.springdoc.core.converters.PageableOpenAPIConverter.resolve(PageableOpenAPIConverter.java:93) - at org.springdoc.core.converters.SortOpenAPIConverter.resolve(SortOpenAPIConverter.java:83) - at io.swagger.v3.core.converter.ModelConverterContextImpl.resolve(ModelConverterContextImpl.java:97) - at io.swagger.v3.core.converter.ModelConverters.resolveAsResolvedSchema(ModelConverters.java:153) - at org.springdoc.core.utils.SpringDocAnnotationsUtils.extractSchema(SpringDocAnnotationsUtils.java:126) - at org.springdoc.core.service.GenericResponseService.calculateSchema(GenericResponseService.java:563) - at org.springdoc.core.service.GenericResponseService.buildContent(GenericResponseService.java:522) - at org.springdoc.core.service.GenericResponseService.buildContent(GenericResponseService.java:503) - at org.springdoc.core.service.GenericResponseService.buildApiResponses(GenericResponseService.java:595) - at org.springdoc.core.service.GenericResponseService.buildApiResponses(GenericResponseService.java:443) - at org.springdoc.core.service.GenericResponseService.build(GenericResponseService.java:258) - at org.springdoc.api.AbstractOpenApiResource.calculatePath(AbstractOpenApiResource.java:499) - at org.springdoc.api.AbstractOpenApiResource.calculatePath(AbstractOpenApiResource.java:676) - at org.springdoc.webmvc.api.OpenApiResource.lambda$calculatePath$11(OpenApiResource.java:219) - at java.base/java.util.Optional.ifPresent(Optional.java:178) - at org.springdoc.webmvc.api.OpenApiResource.calculatePath(OpenApiResource.java:200) - at org.springdoc.webmvc.api.OpenApiResource.lambda$getPaths$2(OpenApiResource.java:170) - at java.base/java.util.Optional.ifPresent(Optional.java:178) - at org.springdoc.webmvc.api.OpenApiResource.getPaths(OpenApiResource.java:149) - at org.springdoc.api.AbstractOpenApiResource.getOpenApi(AbstractOpenApiResource.java:353) - at org.springdoc.webmvc.api.OpenApiResource.openapiJson(OpenApiResource.java:124) - at org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson(OpenApiWebMvcResource.java:111) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.lang.ClassNotFoundException: com.nanri.aiimage.modules.brand.model.vo.BrandCrawlPayloadVo$BrandCrawlPayloadFileVo - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) - at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) - at java.base/java.lang.Class.forName0(Native Method) - at java.base/java.lang.Class.forName(Class.java:536) - at java.base/java.lang.Class.forName(Class.java:515) - at java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114) - ... 187 common frames omitted -2026-03-28 22:35:13.329 [http-nio-18080-exec-4] WARN o.s.c.u.SpringDocAnnotationsUtils - Graceful exception occurred -java.lang.TypeNotPresentException: Type com.nanri.aiimage.modules.brand.model.vo.BrandCrawlPayloadVo$BrandCrawlPayloadFileVo not present - at java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:117) - at java.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125) - at java.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) - at java.base/sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:68) - at java.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:138) - at java.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) - at java.base/sun.reflect.generics.repository.ConstructorRepository.computeParameterTypes(ConstructorRepository.java:111) - at java.base/sun.reflect.generics.repository.ConstructorRepository.getParameterTypes(ConstructorRepository.java:87) - at java.base/java.lang.reflect.Executable.getGenericParameterTypes(Executable.java:333) - at java.base/java.lang.reflect.Method.getGenericParameterTypes(Method.java:337) - at com.fasterxml.jackson.databind.introspect.AnnotatedMethod.getParameterType(AnnotatedMethod.java:141) - at com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder._rawTypeOf(POJOPropertyBuilder.java:1425) - at com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder._getSetterInfo(POJOPropertyBuilder.java:288) - at com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.getMetadata(POJOPropertyBuilder.java:239) - at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector._anyIndexed(POJOPropertiesCollector.java:1376) - at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector._sortProperties(POJOPropertiesCollector.java:1278) - at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.collectAll(POJOPropertiesCollector.java:529) - at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.getPropertyMap(POJOPropertiesCollector.java:413) - at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.getProperties(POJOPropertiesCollector.java:255) - at com.fasterxml.jackson.databind.introspect.BasicBeanDescription._properties(BasicBeanDescription.java:164) - at com.fasterxml.jackson.databind.introspect.BasicBeanDescription.findProperties(BasicBeanDescription.java:239) - at io.swagger.v3.core.jackson.ModelResolver.resolveAccessMode(ModelResolver.java:1949) - at io.swagger.v3.core.jackson.ModelResolver.resolve(ModelResolver.java:662) - at org.springdoc.core.converters.WebFluxSupportConverter.resolve(WebFluxSupportConverter.java:86) - at org.springdoc.core.converters.AdditionalModelsConverter.resolve(AdditionalModelsConverter.java:155) - at org.springdoc.core.converters.FileSupportConverter.resolve(FileSupportConverter.java:69) - at org.springdoc.core.converters.ResponseSupportConverter.resolve(ResponseSupportConverter.java:79) - at org.springdoc.core.converters.SchemaPropertyDeprecatingConverter.resolve(SchemaPropertyDeprecatingConverter.java:92) - at org.springdoc.core.converters.PolymorphicModelConverter.resolve(PolymorphicModelConverter.java:77) - at org.springdoc.core.converters.PageableOpenAPIConverter.resolve(PageableOpenAPIConverter.java:93) - at org.springdoc.core.converters.SortOpenAPIConverter.resolve(SortOpenAPIConverter.java:83) - at io.swagger.v3.core.converter.ModelConverterContextImpl.resolve(ModelConverterContextImpl.java:97) - at io.swagger.v3.core.jackson.ModelResolver.resolve(ModelResolver.java:706) - at org.springdoc.core.converters.WebFluxSupportConverter.resolve(WebFluxSupportConverter.java:86) - at org.springdoc.core.converters.AdditionalModelsConverter.resolve(AdditionalModelsConverter.java:155) - at org.springdoc.core.converters.FileSupportConverter.resolve(FileSupportConverter.java:69) - at org.springdoc.core.converters.ResponseSupportConverter.resolve(ResponseSupportConverter.java:79) - at org.springdoc.core.converters.SchemaPropertyDeprecatingConverter.resolve(SchemaPropertyDeprecatingConverter.java:92) - at org.springdoc.core.converters.PolymorphicModelConverter.resolve(PolymorphicModelConverter.java:77) - at org.springdoc.core.converters.PageableOpenAPIConverter.resolve(PageableOpenAPIConverter.java:93) - at org.springdoc.core.converters.SortOpenAPIConverter.resolve(SortOpenAPIConverter.java:83) - at io.swagger.v3.core.converter.ModelConverterContextImpl.resolve(ModelConverterContextImpl.java:97) - at io.swagger.v3.core.converter.ModelConverters.resolveAsResolvedSchema(ModelConverters.java:153) - at org.springdoc.core.utils.SpringDocAnnotationsUtils.extractSchema(SpringDocAnnotationsUtils.java:126) - at org.springdoc.core.service.GenericResponseService.calculateSchema(GenericResponseService.java:563) - at org.springdoc.core.service.GenericResponseService.buildContent(GenericResponseService.java:522) - at org.springdoc.core.service.GenericResponseService.buildContent(GenericResponseService.java:503) - at org.springdoc.core.service.GenericResponseService.buildApiResponses(GenericResponseService.java:595) - at org.springdoc.core.service.GenericResponseService.buildApiResponses(GenericResponseService.java:443) - at org.springdoc.core.service.GenericResponseService.build(GenericResponseService.java:258) - at org.springdoc.api.AbstractOpenApiResource.calculatePath(AbstractOpenApiResource.java:499) - at org.springdoc.api.AbstractOpenApiResource.calculatePath(AbstractOpenApiResource.java:676) - at org.springdoc.webmvc.api.OpenApiResource.lambda$calculatePath$11(OpenApiResource.java:219) - at java.base/java.util.Optional.ifPresent(Optional.java:178) - at org.springdoc.webmvc.api.OpenApiResource.calculatePath(OpenApiResource.java:200) - at org.springdoc.webmvc.api.OpenApiResource.lambda$getPaths$2(OpenApiResource.java:170) - at java.base/java.util.Optional.ifPresent(Optional.java:178) - at org.springdoc.webmvc.api.OpenApiResource.getPaths(OpenApiResource.java:149) - at org.springdoc.api.AbstractOpenApiResource.getOpenApi(AbstractOpenApiResource.java:353) - at org.springdoc.webmvc.api.OpenApiResource.openapiJson(OpenApiResource.java:124) - at org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson(OpenApiWebMvcResource.java:111) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.lang.ClassNotFoundException: com.nanri.aiimage.modules.brand.model.vo.BrandCrawlPayloadVo$BrandCrawlPayloadFileVo - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) - at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) - at java.base/java.lang.Class.forName0(Native Method) - at java.base/java.lang.Class.forName(Class.java:536) - at java.base/java.lang.Class.forName(Class.java:515) - at java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114) - ... 187 common frames omitted -2026-03-28 22:35:13.333 [http-nio-18080-exec-4] WARN o.s.c.u.SpringDocAnnotationsUtils - Graceful exception occurred -java.lang.TypeNotPresentException: Type com.nanri.aiimage.modules.brand.model.dto.BrandInvalidBrandDto not present - at java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:117) - at java.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125) - at java.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) - at java.base/sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:68) - at java.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:138) - at java.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) - at java.base/sun.reflect.generics.repository.ConstructorRepository.computeParameterTypes(ConstructorRepository.java:111) - at java.base/sun.reflect.generics.repository.ConstructorRepository.getParameterTypes(ConstructorRepository.java:87) - at java.base/java.lang.reflect.Executable.getGenericParameterTypes(Executable.java:333) - at java.base/java.lang.reflect.Method.getGenericParameterTypes(Method.java:337) - at com.fasterxml.jackson.databind.introspect.AnnotatedMethod.getParameterType(AnnotatedMethod.java:141) - at com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder._rawTypeOf(POJOPropertyBuilder.java:1425) - at com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder._getSetterInfo(POJOPropertyBuilder.java:288) - at com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.getMetadata(POJOPropertyBuilder.java:239) - at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector._anyIndexed(POJOPropertiesCollector.java:1376) - at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector._sortProperties(POJOPropertiesCollector.java:1278) - at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.collectAll(POJOPropertiesCollector.java:529) - at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.getPropertyMap(POJOPropertiesCollector.java:413) - at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.getProperties(POJOPropertiesCollector.java:255) - at com.fasterxml.jackson.databind.introspect.BasicBeanDescription._properties(BasicBeanDescription.java:164) - at com.fasterxml.jackson.databind.introspect.BasicBeanDescription.findProperties(BasicBeanDescription.java:239) - at io.swagger.v3.core.jackson.ModelResolver.resolveAccessMode(ModelResolver.java:1949) - at io.swagger.v3.core.jackson.ModelResolver.resolve(ModelResolver.java:662) - at org.springdoc.core.converters.WebFluxSupportConverter.resolve(WebFluxSupportConverter.java:86) - at org.springdoc.core.converters.AdditionalModelsConverter.resolve(AdditionalModelsConverter.java:155) - at org.springdoc.core.converters.FileSupportConverter.resolve(FileSupportConverter.java:69) - at org.springdoc.core.converters.ResponseSupportConverter.resolve(ResponseSupportConverter.java:79) - at org.springdoc.core.converters.SchemaPropertyDeprecatingConverter.resolve(SchemaPropertyDeprecatingConverter.java:92) - at org.springdoc.core.converters.PolymorphicModelConverter.resolve(PolymorphicModelConverter.java:77) - at org.springdoc.core.converters.PageableOpenAPIConverter.resolve(PageableOpenAPIConverter.java:93) - at org.springdoc.core.converters.SortOpenAPIConverter.resolve(SortOpenAPIConverter.java:83) - at io.swagger.v3.core.converter.ModelConverterContextImpl.resolve(ModelConverterContextImpl.java:97) - at io.swagger.v3.core.jackson.ModelResolver.resolve(ModelResolver.java:477) - at org.springdoc.core.converters.WebFluxSupportConverter.resolve(WebFluxSupportConverter.java:86) - at org.springdoc.core.converters.AdditionalModelsConverter.resolve(AdditionalModelsConverter.java:155) - at org.springdoc.core.converters.FileSupportConverter.resolve(FileSupportConverter.java:69) - at org.springdoc.core.converters.ResponseSupportConverter.resolve(ResponseSupportConverter.java:79) - at org.springdoc.core.converters.SchemaPropertyDeprecatingConverter.resolve(SchemaPropertyDeprecatingConverter.java:92) - at org.springdoc.core.converters.PolymorphicModelConverter.resolve(PolymorphicModelConverter.java:77) - at org.springdoc.core.converters.PageableOpenAPIConverter.resolve(PageableOpenAPIConverter.java:93) - at org.springdoc.core.converters.SortOpenAPIConverter.resolve(SortOpenAPIConverter.java:83) - at io.swagger.v3.core.converter.ModelConverterContextImpl.resolve(ModelConverterContextImpl.java:97) - at io.swagger.v3.core.jackson.ModelResolver.resolve(ModelResolver.java:706) - at org.springdoc.core.converters.WebFluxSupportConverter.resolve(WebFluxSupportConverter.java:86) - at org.springdoc.core.converters.AdditionalModelsConverter.resolve(AdditionalModelsConverter.java:155) - at org.springdoc.core.converters.FileSupportConverter.resolve(FileSupportConverter.java:69) - at org.springdoc.core.converters.ResponseSupportConverter.resolve(ResponseSupportConverter.java:79) - at org.springdoc.core.converters.SchemaPropertyDeprecatingConverter.resolve(SchemaPropertyDeprecatingConverter.java:92) - at org.springdoc.core.converters.PolymorphicModelConverter.resolve(PolymorphicModelConverter.java:77) - at org.springdoc.core.converters.PageableOpenAPIConverter.resolve(PageableOpenAPIConverter.java:93) - at org.springdoc.core.converters.SortOpenAPIConverter.resolve(SortOpenAPIConverter.java:83) - at io.swagger.v3.core.converter.ModelConverterContextImpl.resolve(ModelConverterContextImpl.java:97) - at io.swagger.v3.core.converter.ModelConverters.resolveAsResolvedSchema(ModelConverters.java:153) - at org.springdoc.core.utils.SpringDocAnnotationsUtils.extractSchema(SpringDocAnnotationsUtils.java:126) - at org.springdoc.core.service.GenericParameterService.calculateSchema(GenericParameterService.java:374) - at org.springdoc.core.service.RequestBodyService.buildRequestBody(RequestBodyService.java:281) - at org.springdoc.core.service.RequestBodyService.calculateRequestBodyInfo(RequestBodyService.java:257) - at org.springdoc.core.service.AbstractRequestService.build(AbstractRequestService.java:343) - at org.springdoc.api.AbstractOpenApiResource.calculatePath(AbstractOpenApiResource.java:496) - at org.springdoc.api.AbstractOpenApiResource.calculatePath(AbstractOpenApiResource.java:676) - at org.springdoc.webmvc.api.OpenApiResource.lambda$calculatePath$11(OpenApiResource.java:219) - at java.base/java.util.Optional.ifPresent(Optional.java:178) - at org.springdoc.webmvc.api.OpenApiResource.calculatePath(OpenApiResource.java:200) - at org.springdoc.webmvc.api.OpenApiResource.lambda$getPaths$2(OpenApiResource.java:170) - at java.base/java.util.Optional.ifPresent(Optional.java:178) - at org.springdoc.webmvc.api.OpenApiResource.getPaths(OpenApiResource.java:149) - at org.springdoc.api.AbstractOpenApiResource.getOpenApi(AbstractOpenApiResource.java:353) - at org.springdoc.webmvc.api.OpenApiResource.openapiJson(OpenApiResource.java:124) - at org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson(OpenApiWebMvcResource.java:111) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.lang.ClassNotFoundException: com.nanri.aiimage.modules.brand.model.dto.BrandInvalidBrandDto - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) - at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) - at java.base/java.lang.Class.forName0(Native Method) - at java.base/java.lang.Class.forName(Class.java:536) - at java.base/java.lang.Class.forName(Class.java:515) - at java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114) - ... 195 common frames omitted -2026-03-28 22:35:13.395 [http-nio-18080-exec-4] WARN o.s.c.u.SpringDocAnnotationsUtils - Graceful exception occurred -java.lang.TypeNotPresentException: Type com.nanri.aiimage.modules.deletebrand.model.vo.DeleteBrandCountryGroupVo not present - at java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:117) - at java.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125) - at java.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) - at java.base/sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:68) - at java.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:138) - at java.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) - at java.base/sun.reflect.generics.repository.ConstructorRepository.computeParameterTypes(ConstructorRepository.java:111) - at java.base/sun.reflect.generics.repository.ConstructorRepository.getParameterTypes(ConstructorRepository.java:87) - at java.base/java.lang.reflect.Executable.getGenericParameterTypes(Executable.java:333) - at java.base/java.lang.reflect.Method.getGenericParameterTypes(Method.java:337) - at com.fasterxml.jackson.databind.introspect.AnnotatedMethod.getParameterType(AnnotatedMethod.java:141) - at com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder._rawTypeOf(POJOPropertyBuilder.java:1425) - at com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder._getSetterInfo(POJOPropertyBuilder.java:288) - at com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.getMetadata(POJOPropertyBuilder.java:239) - at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector._anyIndexed(POJOPropertiesCollector.java:1376) - at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector._sortProperties(POJOPropertiesCollector.java:1278) - at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.collectAll(POJOPropertiesCollector.java:529) - at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.getPropertyMap(POJOPropertiesCollector.java:413) - at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.getProperties(POJOPropertiesCollector.java:255) - at com.fasterxml.jackson.databind.introspect.BasicBeanDescription._properties(BasicBeanDescription.java:164) - at com.fasterxml.jackson.databind.introspect.BasicBeanDescription.findProperties(BasicBeanDescription.java:239) - at io.swagger.v3.core.jackson.ModelResolver.resolveAccessMode(ModelResolver.java:1949) - at io.swagger.v3.core.jackson.ModelResolver.resolve(ModelResolver.java:662) - at org.springdoc.core.converters.WebFluxSupportConverter.resolve(WebFluxSupportConverter.java:86) - at org.springdoc.core.converters.AdditionalModelsConverter.resolve(AdditionalModelsConverter.java:155) - at org.springdoc.core.converters.FileSupportConverter.resolve(FileSupportConverter.java:69) - at org.springdoc.core.converters.ResponseSupportConverter.resolve(ResponseSupportConverter.java:79) - at org.springdoc.core.converters.SchemaPropertyDeprecatingConverter.resolve(SchemaPropertyDeprecatingConverter.java:92) - at org.springdoc.core.converters.PolymorphicModelConverter.resolve(PolymorphicModelConverter.java:77) - at org.springdoc.core.converters.PageableOpenAPIConverter.resolve(PageableOpenAPIConverter.java:93) - at org.springdoc.core.converters.SortOpenAPIConverter.resolve(SortOpenAPIConverter.java:83) - at io.swagger.v3.core.converter.ModelConverterContextImpl.resolve(ModelConverterContextImpl.java:97) - at io.swagger.v3.core.jackson.ModelResolver.resolve(ModelResolver.java:477) - at org.springdoc.core.converters.WebFluxSupportConverter.resolve(WebFluxSupportConverter.java:86) - at org.springdoc.core.converters.AdditionalModelsConverter.resolve(AdditionalModelsConverter.java:155) - at org.springdoc.core.converters.FileSupportConverter.resolve(FileSupportConverter.java:69) - at org.springdoc.core.converters.ResponseSupportConverter.resolve(ResponseSupportConverter.java:79) - at org.springdoc.core.converters.SchemaPropertyDeprecatingConverter.resolve(SchemaPropertyDeprecatingConverter.java:92) - at org.springdoc.core.converters.PolymorphicModelConverter.resolve(PolymorphicModelConverter.java:77) - at org.springdoc.core.converters.PageableOpenAPIConverter.resolve(PageableOpenAPIConverter.java:93) - at org.springdoc.core.converters.SortOpenAPIConverter.resolve(SortOpenAPIConverter.java:83) - at io.swagger.v3.core.converter.ModelConverterContextImpl.resolve(ModelConverterContextImpl.java:97) - at io.swagger.v3.core.jackson.ModelResolver.resolve(ModelResolver.java:706) - at org.springdoc.core.converters.WebFluxSupportConverter.resolve(WebFluxSupportConverter.java:86) - at org.springdoc.core.converters.AdditionalModelsConverter.resolve(AdditionalModelsConverter.java:155) - at org.springdoc.core.converters.FileSupportConverter.resolve(FileSupportConverter.java:69) - at org.springdoc.core.converters.ResponseSupportConverter.resolve(ResponseSupportConverter.java:79) - at org.springdoc.core.converters.SchemaPropertyDeprecatingConverter.resolve(SchemaPropertyDeprecatingConverter.java:92) - at org.springdoc.core.converters.PolymorphicModelConverter.resolve(PolymorphicModelConverter.java:77) - at org.springdoc.core.converters.PageableOpenAPIConverter.resolve(PageableOpenAPIConverter.java:93) - at org.springdoc.core.converters.SortOpenAPIConverter.resolve(SortOpenAPIConverter.java:83) - at io.swagger.v3.core.converter.ModelConverterContextImpl.resolve(ModelConverterContextImpl.java:97) - at io.swagger.v3.core.jackson.ModelResolver.resolve(ModelResolver.java:706) - at org.springdoc.core.converters.WebFluxSupportConverter.resolve(WebFluxSupportConverter.java:86) - at org.springdoc.core.converters.AdditionalModelsConverter.resolve(AdditionalModelsConverter.java:155) - at org.springdoc.core.converters.FileSupportConverter.resolve(FileSupportConverter.java:69) - at org.springdoc.core.converters.ResponseSupportConverter.resolve(ResponseSupportConverter.java:79) - at org.springdoc.core.converters.SchemaPropertyDeprecatingConverter.resolve(SchemaPropertyDeprecatingConverter.java:92) - at org.springdoc.core.converters.PolymorphicModelConverter.resolve(PolymorphicModelConverter.java:77) - at org.springdoc.core.converters.PageableOpenAPIConverter.resolve(PageableOpenAPIConverter.java:93) - at org.springdoc.core.converters.SortOpenAPIConverter.resolve(SortOpenAPIConverter.java:83) - at io.swagger.v3.core.converter.ModelConverterContextImpl.resolve(ModelConverterContextImpl.java:97) - at io.swagger.v3.core.converter.ModelConverters.resolveAsResolvedSchema(ModelConverters.java:153) - at org.springdoc.core.utils.SpringDocAnnotationsUtils.extractSchema(SpringDocAnnotationsUtils.java:126) - at org.springdoc.core.service.GenericResponseService.calculateSchema(GenericResponseService.java:563) - at org.springdoc.core.service.GenericResponseService.buildContent(GenericResponseService.java:522) - at org.springdoc.core.service.GenericResponseService.buildContent(GenericResponseService.java:503) - at org.springdoc.core.service.GenericResponseService.buildApiResponses(GenericResponseService.java:595) - at org.springdoc.core.service.GenericResponseService.buildApiResponses(GenericResponseService.java:457) - at org.springdoc.core.service.GenericResponseService.build(GenericResponseService.java:258) - at org.springdoc.api.AbstractOpenApiResource.calculatePath(AbstractOpenApiResource.java:499) - at org.springdoc.api.AbstractOpenApiResource.calculatePath(AbstractOpenApiResource.java:676) - at org.springdoc.webmvc.api.OpenApiResource.lambda$calculatePath$11(OpenApiResource.java:219) - at java.base/java.util.Optional.ifPresent(Optional.java:178) - at org.springdoc.webmvc.api.OpenApiResource.calculatePath(OpenApiResource.java:200) - at org.springdoc.webmvc.api.OpenApiResource.lambda$getPaths$2(OpenApiResource.java:170) - at java.base/java.util.Optional.ifPresent(Optional.java:178) - at org.springdoc.webmvc.api.OpenApiResource.getPaths(OpenApiResource.java:149) - at org.springdoc.api.AbstractOpenApiResource.getOpenApi(AbstractOpenApiResource.java:353) - at org.springdoc.webmvc.api.OpenApiResource.openapiJson(OpenApiResource.java:124) - at org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson(OpenApiWebMvcResource.java:111) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.lang.ClassNotFoundException: com.nanri.aiimage.modules.deletebrand.model.vo.DeleteBrandCountryGroupVo - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) - at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) - at java.base/java.lang.Class.forName0(Native Method) - at java.base/java.lang.Class.forName(Class.java:536) - at java.base/java.lang.Class.forName(Class.java:515) - at java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114) - ... 207 common frames omitted -2026-03-28 22:35:13.423 [http-nio-18080-exec-4] WARN i.s.v3.core.jackson.ModelResolver - jackson BeanDescription.findJsonValueAccessor not found, this could lead to inaccurate result, please update jackson to 2.9+ -2026-03-28 22:35:13.424 [http-nio-18080-exec-4] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -jakarta.servlet.ServletException: Handler dispatch failed: java.lang.NoClassDefFoundError: com/nanri/aiimage/modules/brand/model/vo/LegacyBrandLineProgressInfoVo - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1104) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.lang.NoClassDefFoundError: com/nanri/aiimage/modules/brand/model/vo/LegacyBrandLineProgressInfoVo - at java.base/java.lang.Class.getDeclaredFields0(Native Method) - at java.base/java.lang.Class.privateGetDeclaredFields(Class.java:3475) - at java.base/java.lang.Class.getDeclaredFields(Class.java:2544) - at com.fasterxml.jackson.databind.introspect.AnnotatedFieldCollector._findFields(AnnotatedFieldCollector.java:73) - at com.fasterxml.jackson.databind.introspect.AnnotatedFieldCollector.collect(AnnotatedFieldCollector.java:48) - at com.fasterxml.jackson.databind.introspect.AnnotatedFieldCollector.collectFields(AnnotatedFieldCollector.java:43) - at com.fasterxml.jackson.databind.introspect.AnnotatedClass._fields(AnnotatedClass.java:370) - at com.fasterxml.jackson.databind.introspect.AnnotatedClass.fields(AnnotatedClass.java:342) - at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector._addFields(POJOPropertiesCollector.java:553) - at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.collectAll(POJOPropertiesCollector.java:478) - at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.getJsonValueAccessor(POJOPropertiesCollector.java:294) - at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.getJsonValueMethod(POJOPropertiesCollector.java:420) - at com.fasterxml.jackson.databind.introspect.BasicBeanDescription.findJsonValueMethod(BasicBeanDescription.java:252) - at io.swagger.v3.core.jackson.ModelResolver.findJsonValueType(ModelResolver.java:1058) - at io.swagger.v3.core.jackson.ModelResolver.resolve(ModelResolver.java:401) - at org.springdoc.core.converters.WebFluxSupportConverter.resolve(WebFluxSupportConverter.java:86) - at org.springdoc.core.converters.AdditionalModelsConverter.resolve(AdditionalModelsConverter.java:155) - at org.springdoc.core.converters.FileSupportConverter.resolve(FileSupportConverter.java:69) - at org.springdoc.core.converters.ResponseSupportConverter.resolve(ResponseSupportConverter.java:79) - at org.springdoc.core.converters.SchemaPropertyDeprecatingConverter.resolve(SchemaPropertyDeprecatingConverter.java:92) - at org.springdoc.core.converters.PolymorphicModelConverter.resolve(PolymorphicModelConverter.java:77) - at org.springdoc.core.converters.PageableOpenAPIConverter.resolve(PageableOpenAPIConverter.java:93) - at org.springdoc.core.converters.SortOpenAPIConverter.resolve(SortOpenAPIConverter.java:83) - at io.swagger.v3.core.converter.ModelConverterContextImpl.resolve(ModelConverterContextImpl.java:97) - at io.swagger.v3.core.jackson.ModelResolver.resolve(ModelResolver.java:706) - at org.springdoc.core.converters.WebFluxSupportConverter.resolve(WebFluxSupportConverter.java:86) - at org.springdoc.core.converters.AdditionalModelsConverter.resolve(AdditionalModelsConverter.java:155) - at org.springdoc.core.converters.FileSupportConverter.resolve(FileSupportConverter.java:69) - at org.springdoc.core.converters.ResponseSupportConverter.resolve(ResponseSupportConverter.java:79) - at org.springdoc.core.converters.SchemaPropertyDeprecatingConverter.resolve(SchemaPropertyDeprecatingConverter.java:92) - at org.springdoc.core.converters.PolymorphicModelConverter.resolve(PolymorphicModelConverter.java:77) - at org.springdoc.core.converters.PageableOpenAPIConverter.resolve(PageableOpenAPIConverter.java:93) - at org.springdoc.core.converters.SortOpenAPIConverter.resolve(SortOpenAPIConverter.java:83) - at io.swagger.v3.core.converter.ModelConverterContextImpl.resolve(ModelConverterContextImpl.java:97) - at io.swagger.v3.core.converter.ModelConverters.resolveAsResolvedSchema(ModelConverters.java:153) - at io.swagger.v3.core.converter.ModelConverters.readAllAsResolvedSchema(ModelConverters.java:143) - at io.swagger.v3.core.util.AnnotationsUtils.resolveSchemaFromType(AnnotationsUtils.java:873) - at io.swagger.v3.core.util.AnnotationsUtils.getSchema(AnnotationsUtils.java:1642) - at io.swagger.v3.core.util.AnnotationsUtils.getSchema(AnnotationsUtils.java:1621) - at org.springdoc.core.utils.SpringDocAnnotationsUtils.getMediaType(SpringDocAnnotationsUtils.java:365) - at org.springdoc.core.utils.SpringDocAnnotationsUtils.getContent(SpringDocAnnotationsUtils.java:185) - at org.springdoc.core.service.GenericResponseService.buildContentFromDoc(GenericResponseService.java:184) - at org.springdoc.core.service.GenericResponseService.computeResponseFromDoc(GenericResponseService.java:383) - at org.springdoc.core.service.GenericResponseService.build(GenericResponseService.java:257) - at org.springdoc.api.AbstractOpenApiResource.calculatePath(AbstractOpenApiResource.java:499) - at org.springdoc.api.AbstractOpenApiResource.calculatePath(AbstractOpenApiResource.java:676) - at org.springdoc.webmvc.api.OpenApiResource.lambda$calculatePath$11(OpenApiResource.java:219) - at java.base/java.util.Optional.ifPresent(Optional.java:178) - at org.springdoc.webmvc.api.OpenApiResource.calculatePath(OpenApiResource.java:200) - at org.springdoc.webmvc.api.OpenApiResource.lambda$getPaths$2(OpenApiResource.java:170) - at java.base/java.util.Optional.ifPresent(Optional.java:178) - at org.springdoc.webmvc.api.OpenApiResource.getPaths(OpenApiResource.java:149) - at org.springdoc.api.AbstractOpenApiResource.getOpenApi(AbstractOpenApiResource.java:353) - at org.springdoc.webmvc.api.OpenApiResource.openapiJson(OpenApiResource.java:124) - at org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson(OpenApiWebMvcResource.java:111) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - ... 118 common frames omitted -Caused by: java.lang.ClassNotFoundException: com.nanri.aiimage.modules.brand.model.vo.LegacyBrandLineProgressInfoVo - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) - at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) - ... 182 common frames omitted -2026-03-28 22:35:13.514 [http-nio-18080-exec-8] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource favicon.ico. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-03-28 22:35:15.114 [http-nio-18080-exec-1] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: Type com.nanri.aiimage.modules.deletebrand.model.vo.DeleteBrandCountryGroupVo not present - at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMessageConverter.java:492) - at org.springframework.http.converter.AbstractGenericHttpMessageConverter.write(AbstractGenericHttpMessageConverter.java:114) - at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:297) - at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:192) - at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:78) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:136) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: com.fasterxml.jackson.databind.JsonMappingException: Type com.nanri.aiimage.modules.deletebrand.model.vo.DeleteBrandCountryGroupVo not present (through reference chain: com.nanri.aiimage.common.api.ApiResponse["data"]->com.nanri.aiimage.modules.deletebrand.model.vo.DeleteBrandHistoryVo["items"]->java.util.ImmutableCollections$ListN[0]) - at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:402) - at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:373) - at com.fasterxml.jackson.databind.ser.std.StdSerializer.wrapAndThrow(StdSerializer.java:345) - at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:123) - at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) - at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) - at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:732) - at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:770) - at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:183) - at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:732) - at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:770) - at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:183) - at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:502) - at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:341) - at com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1574) - at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:1061) - at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMessageConverter.java:483) - ... 127 common frames omitted -Caused by: java.lang.TypeNotPresentException: Type com.nanri.aiimage.modules.deletebrand.model.vo.DeleteBrandCountryGroupVo not present - at java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:117) - at java.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125) - at java.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) - at java.base/sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:68) - at java.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:138) - at java.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) - at java.base/sun.reflect.generics.repository.MethodRepository.computeReturnType(MethodRepository.java:75) - at java.base/sun.reflect.generics.repository.MethodRepository.getReturnType(MethodRepository.java:66) - at java.base/java.lang.reflect.Method.getGenericReturnType(Method.java:299) - at com.fasterxml.jackson.databind.introspect.AnnotatedMethod.getType(AnnotatedMethod.java:77) - at com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.getPrimaryType(POJOPropertyBuilder.java:347) - at com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.getRawPrimaryType(POJOPropertyBuilder.java:371) - at com.fasterxml.jackson.databind.ser.BeanSerializerFactory.removeIgnorableTypes(BeanSerializerFactory.java:776) - at com.fasterxml.jackson.databind.ser.BeanSerializerFactory.findBeanProperties(BeanSerializerFactory.java:603) - at com.fasterxml.jackson.databind.ser.BeanSerializerFactory.constructBeanOrAddOnSerializer(BeanSerializerFactory.java:402) - at com.fasterxml.jackson.databind.ser.BeanSerializerFactory.findBeanOrAddOnSerializer(BeanSerializerFactory.java:295) - at com.fasterxml.jackson.databind.ser.BeanSerializerFactory._createSerializer2(BeanSerializerFactory.java:240) - at com.fasterxml.jackson.databind.ser.BeanSerializerFactory.createSerializer(BeanSerializerFactory.java:174) - at com.fasterxml.jackson.databind.SerializerProvider._createUntypedSerializer(SerializerProvider.java:1525) - at com.fasterxml.jackson.databind.SerializerProvider._createAndCacheUntypedSerializer(SerializerProvider.java:1473) - at com.fasterxml.jackson.databind.SerializerProvider.findContentValueSerializer(SerializerProvider.java:811) - at com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap.findAndAddSecondarySerializer(PropertySerializerMap.java:90) - at com.fasterxml.jackson.databind.ser.std.AsArraySerializerBase._findAndAddDynamic(AsArraySerializerBase.java:314) - at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:115) - ... 140 common frames omitted -Caused by: java.lang.ClassNotFoundException: com.nanri.aiimage.modules.deletebrand.model.vo.DeleteBrandCountryGroupVo - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) - at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) - at java.base/java.lang.Class.forName0(Native Method) - at java.base/java.lang.Class.forName(Class.java:536) - at java.base/java.lang.Class.forName(Class.java:515) - at java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114) - ... 163 common frames omitted -2026-03-28 22:35:18.258 [http-nio-18080-exec-2] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@37a1667a (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. -2026-03-28 22:35:20.833 [http-nio-18080-exec-3] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -jakarta.servlet.ServletException: Handler dispatch failed: java.lang.NoClassDefFoundError: com/nanri/aiimage/modules/deletebrand/service/DeleteBrandRunService$CountryColumnPair - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1104) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.lang.NoClassDefFoundError: com/nanri/aiimage/modules/deletebrand/service/DeleteBrandRunService$CountryColumnPair - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandRunService.resolveCountryPairs(DeleteBrandRunService.java:350) - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandRunService.parseDeleteBrandFile(DeleteBrandRunService.java:251) - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandRunService.run(DeleteBrandRunService.java:105) - at com.nanri.aiimage.modules.deletebrand.controller.DeleteBrandRunController.run(DeleteBrandRunController.java:52) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - ... 118 common frames omitted -Caused by: java.lang.ClassNotFoundException: com.nanri.aiimage.modules.deletebrand.service.DeleteBrandRunService$CountryColumnPair - ... 131 common frames omitted -2026-03-28 22:36:16.888 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... -2026-03-28 22:36:16.891 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. -2026-03-28 22:36:27.701 [main] INFO c.nanri.aiimage.AiImageApplication - Starting AiImageApplication using Java 21.0.9 with PID 42848 (F:\project\crawler-plugin\backend-java\target\classes started by 杨杰 in F:\project\crawler-plugin\backend-java) -2026-03-28 22:36:27.703 [main] INFO c.nanri.aiimage.AiImageApplication - No active profile set, falling back to 1 default profile: "default" -2026-03-28 22:36:29.973 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -2026-03-28 22:36:29.975 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -2026-03-28 22:36:30.003 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 18 ms. Found 0 Redis repository interfaces. -2026-03-28 22:36:30.549 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 18080 (http) -2026-03-28 22:36:30.561 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2026-03-28 22:36:30.562 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.36] -2026-03-28 22:36:30.611 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2026-03-28 22:36:30.611 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 2863 ms -2026-03-28 22:36:31.499 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - - -Using generated security password: dcf0740e-dded-4c98-ba18-ccbec5fbb4eb - -This generated password is for development use only. Your security configuration must be updated before running your application in production. - -2026-03-28 22:36:31.514 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager -2026-03-28 22:36:32.118 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 1 endpoint beneath base path '/actuator' -2026-03-28 22:36:32.193 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 18080 (http) with context path '/' -2026-03-28 22:36:32.207 [main] INFO c.nanri.aiimage.AiImageApplication - Started AiImageApplication in 5.001 seconds (process running for 5.791) -2026-03-28 22:36:32.671 [RMI TCP Connection(1)-192.168.9.14] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' -2026-03-28 22:36:32.672 [RMI TCP Connection(1)-192.168.9.14] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' -2026-03-28 22:36:32.673 [RMI TCP Connection(1)-192.168.9.14] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms -2026-03-28 22:36:37.081 [http-nio-18080-exec-4] INFO o.s.api.AbstractOpenApiResource - Init duration for springdoc-openapi is: 656 ms -2026-03-28 22:36:37.233 [http-nio-18080-exec-1] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource favicon.ico. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-03-28 22:36:38.363 [http-nio-18080-exec-8] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource favicon.ico. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-03-28 22:36:39.808 [http-nio-18080-exec-9] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource favicon.ico. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-03-28 22:36:52.651 [http-nio-18080-exec-4] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... -2026-03-28 22:36:53.124 [http-nio-18080-exec-4] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@323fef85 -2026-03-28 22:36:53.127 [http-nio-18080-exec-4] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. -2026-03-28 22:36:54.172 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] cache miss, requesting upstream, keyHash=a912d0d6649f -2026-03-28 22:36:54.745 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] skip invalid apiKey while resolving companyId, keyHash=a912d0d6649f -2026-03-28 22:36:54.858 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-03-28 22:36:54.908 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] hit shop-match cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=魏振峰, shopId=27543917795757, userId=17543915345493 -2026-03-28 22:37:17.897 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] cache miss, requesting upstream, keyHash=a912d0d6649f -2026-03-28 22:37:18.007 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] skip invalid apiKey while resolving companyId, keyHash=a912d0d6649f -2026-03-28 22:37:18.049 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-03-28 22:37:18.094 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] hit shop-match cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=魏振峰, shopId=27543917795757, userId=17543915345493 -2026-03-28 22:37:56.242 [http-nio-18080-exec-7] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] cache miss, requesting upstream, keyHash=a912d0d6649f -2026-03-28 22:37:56.416 [http-nio-18080-exec-7] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] skip invalid apiKey while resolving companyId, keyHash=a912d0d6649f -2026-03-28 22:37:56.458 [http-nio-18080-exec-7] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-03-28 22:37:56.544 [http-nio-18080-exec-7] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, size=21 -2026-03-28 22:37:56.590 [http-nio-18080-exec-7] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17719218431526 -2026-03-28 22:37:56.831 [http-nio-18080-exec-7] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17633627241792 -2026-03-28 22:37:57.112 [http-nio-18080-exec-7] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17549810616820 -2026-03-28 22:37:57.369 [http-nio-18080-exec-7] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17550861697817 -2026-03-28 22:37:57.605 [http-nio-18080-exec-7] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17572485086466 -2026-03-28 22:37:57.841 [http-nio-18080-exec-7] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17620718352236 -2026-03-28 22:37:58.089 [http-nio-18080-exec-7] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17573395442422 -2026-03-28 22:37:58.358 [http-nio-18080-exec-7] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543971161848 -2026-03-28 22:37:58.619 [http-nio-18080-exec-7] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17676840392758 -2026-03-28 22:37:58.910 [http-nio-18080-exec-7] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543973861944 -2026-03-28 22:37:59.149 [http-nio-18080-exec-7] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17613993013398 -2026-03-28 22:37:59.403 [http-nio-18080-exec-7] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543915345493, size=4 -2026-03-28 22:37:59.403 [http-nio-18080-exec-7] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] matched via upstream scan, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=郭亚芳, shopId=27730548558377, userId=17543915345493 -2026-03-28 22:38:27.992 [http-nio-18080-exec-8] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] cache miss, requesting upstream, keyHash=a912d0d6649f -2026-03-28 22:38:28.095 [http-nio-18080-exec-8] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] skip invalid apiKey while resolving companyId, keyHash=a912d0d6649f -2026-03-28 22:38:28.137 [http-nio-18080-exec-8] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-03-28 22:38:28.179 [http-nio-18080-exec-8] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] hit shop-match cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=魏振峰, shopId=27543917795757, userId=17543915345493 -2026-03-28 22:41:37.965 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] cache miss, requesting upstream, keyHash=a912d0d6649f -2026-03-28 22:41:38.208 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] skip invalid apiKey while resolving companyId, keyHash=a912d0d6649f -2026-03-28 22:41:38.254 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-03-28 22:41:38.295 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] hit shop-match cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=魏振峰, shopId=27543917795757, userId=17543915345493 -2026-03-28 22:42:40.315 [http-nio-18080-exec-8] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] cache miss, requesting upstream, keyHash=a912d0d6649f -2026-03-28 22:42:40.492 [http-nio-18080-exec-8] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] skip invalid apiKey while resolving companyId, keyHash=a912d0d6649f -2026-03-28 22:42:40.535 [http-nio-18080-exec-8] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-03-28 22:42:40.576 [http-nio-18080-exec-8] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] hit shop-match cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=魏振峰, shopId=27543917795757, userId=17543915345493 -2026-03-28 22:43:37.516 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] cache miss, requesting upstream, keyHash=a912d0d6649f -2026-03-28 22:43:37.619 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] skip invalid apiKey while resolving companyId, keyHash=a912d0d6649f -2026-03-28 22:43:37.663 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-03-28 22:43:37.706 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] hit shop-match cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=魏振峰, shopId=27543917795757, userId=17543915345493 -2026-03-28 22:44:52.370 [http-nio-18080-exec-8] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] cache miss, requesting upstream, keyHash=a912d0d6649f -2026-03-28 22:44:52.575 [http-nio-18080-exec-8] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] skip invalid apiKey while resolving companyId, keyHash=a912d0d6649f -2026-03-28 22:44:52.617 [http-nio-18080-exec-8] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-03-28 22:44:52.658 [http-nio-18080-exec-8] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] hit shop-match cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=郭亚芳, shopId=27730548558377, userId=17543915345493 -2026-03-28 22:45:59.349 [http-nio-18080-exec-6] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource favicon.ico. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-03-28 22:53:05.918 [http-nio-18080-exec-6] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@195b942 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. -2026-03-28 22:53:10.929 [http-nio-18080-exec-6] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@323fef85 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. -2026-03-28 22:53:15.934 [http-nio-18080-exec-6] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@53a12a6a (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. -2026-03-28 22:53:20.937 [http-nio-18080-exec-6] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@54b4ccce (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. -2026-03-28 22:53:25.942 [http-nio-18080-exec-6] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@9a3ef17 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. -2026-03-28 22:53:30.928 [http-nio-18080-exec-6] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.mybatis.spring.MyBatisSystemException: null - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) - at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:164) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) - at jdk.proxy2/jdk.proxy2.$Proxy115.selectBatchIds(Unknown Source) - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandRunService.getTaskDetails(DeleteBrandRunService.java:412) - at com.nanri.aiimage.modules.deletebrand.controller.DeleteBrandRunController.getTasksBatch(DeleteBrandRunController.java:83) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: org.apache.ibatis.exceptions.PersistenceException: -### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection -### The error may exist in com/nanri/aiimage/modules/task/mapper/FileTaskMapper.java (best guess) -### The error may involve com.nanri.aiimage.modules.task.mapper.FileTaskMapper.selectBatchIds -### The error occurred while executing a query -### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection - at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:156) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) - ... 136 common frames omitted -Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection - at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) - at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) - at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) - at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:348) - at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89) - at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64) - at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) - at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) - ... 141 common frames omitted -Caused by: java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30012ms (total=0, active=0, idle=0, waiting=0) - at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:686) - at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:179) - at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:144) - at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:127) - at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) - at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) - at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) - ... 151 common frames omitted -Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure - -The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. - at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) - at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) - at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) - at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) - at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) - at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:137) - at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:360) - at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:202) - at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:461) - at com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:724) - at com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:703) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - ... 1 common frames omitted -Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure - -The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. - at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62) - at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502) - at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486) - at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) - at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) - at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) - at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) - at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:88) - at com.mysql.cj.NativeSession.connect(NativeSession.java:120) - at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) - at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805) - ... 13 common frames omitted -Caused by: java.net.ConnectException: Connection timed out: getsockopt - at java.base/sun.nio.ch.Net.pollConnect(Native Method) - at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:690) - at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:549) - at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:592) - at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327) - at java.base/java.net.Socket.connect(Socket.java:751) - at com.mysql.cj.protocol.StandardSocketFactory.connect(StandardSocketFactory.java:153) - at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:62) - ... 16 common frames omitted -2026-03-28 22:56:35.718 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] cache miss, requesting upstream, keyHash=a912d0d6649f -2026-03-28 22:56:35.936 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] skip invalid apiKey while resolving companyId, keyHash=a912d0d6649f -2026-03-28 22:56:35.980 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-03-28 22:56:36.024 [http-nio-18080-exec-2] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] hit shop-match cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=魏振峰, shopId=27543917795757, userId=17543915345493 -2026-03-28 22:59:30.911 [http-nio-18080-exec-4] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.servlet.resource.NoResourceFoundException: No static resource favicon.ico. - at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586) - at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -2026-03-28 23:00:39.542 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] cache miss, requesting upstream, keyHash=a912d0d6649f -2026-03-28 23:00:39.772 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] skip invalid apiKey while resolving companyId, keyHash=a912d0d6649f -2026-03-28 23:00:39.817 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-03-28 23:00:40.088 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-03-28 23:00:40.664 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cached upstream result, keyHash=e4ade5d7ed7e, companyId=17543915349961, size=21 -2026-03-28 23:00:40.709 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17719218431526 -2026-03-28 23:00:40.956 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17633627241792 -2026-03-28 23:00:41.195 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17549810616820 -2026-03-28 23:00:41.438 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17550861697817 -2026-03-28 23:00:41.724 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17572485086466 -2026-03-28 23:00:42.015 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17620718352236 -2026-03-28 23:00:42.273 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17573395442422 -2026-03-28 23:00:42.505 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543971161848 -2026-03-28 23:00:42.773 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17676840392758 -2026-03-28 23:00:43.027 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543973861944 -2026-03-28 23:00:43.303 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17613993013398 -2026-03-28 23:00:43.638 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543915345493 -2026-03-28 23:00:44.244 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543915345493, size=4 -2026-03-28 23:00:44.244 [http-nio-18080-exec-1] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] matched via upstream scan, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=魏振峰, shopId=27543917795757, userId=17543915345493 -2026-03-28 23:00:44.431 [http-nio-18080-exec-8] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@61c6a2e4 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. -2026-03-28 23:00:49.436 [http-nio-18080-exec-8] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@4d8f04f6 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. -2026-03-28 23:04:31.510 [http-nio-18080-exec-7] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@248f07b8 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. -2026-03-28 23:04:51.520 [http-nio-18080-exec-9] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@7ff9d3ba (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. -2026-03-28 23:04:56.716 [http-nio-18080-exec-10] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@110846de (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. -2026-03-28 23:05:01.718 [http-nio-18080-exec-10] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@31cdf4ca (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. -2026-03-28 23:08:32.929 [http-nio-18080-exec-8] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.data.redis.RedisSystemException: Redis command interrupted - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:60) - at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) - at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) - at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:310) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1012) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$3(LettuceConnection.java:447) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) - at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) - at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:54) - at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:284) - at org.springframework.data.redis.connection.DefaultStringRedisConnection.get(DefaultStringRedisConnection.java:382) - at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:54) - at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:61) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:411) - at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:378) - at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97) - at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:50) - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandTaskCacheService.getParsedPayload(DeleteBrandTaskCacheService.java:53) - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandRunService.submitResult(DeleteBrandRunService.java:580) - at com.nanri.aiimage.modules.deletebrand.controller.DeleteBrandRunController.submitResult(DeleteBrandRunController.java:91) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) - at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: io.lettuce.core.RedisCommandInterruptedException: Command interrupted - at io.lettuce.core.protocol.AsyncCommand.await(AsyncCommand.java:87) - at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:244) - at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) - at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1010) - ... 142 common frames omitted -Caused by: java.lang.InterruptedException: null - at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:386) - at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2096) - at io.lettuce.core.protocol.AsyncCommand.await(AsyncCommand.java:83) - ... 145 common frames omitted -2026-03-28 23:08:32.956 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... -2026-03-28 23:08:32.958 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. -2026-03-28 23:08:39.822 [main] INFO c.nanri.aiimage.AiImageApplication - Starting AiImageApplication using Java 21.0.9 with PID 22448 (F:\project\crawler-plugin\backend-java\target\classes started by 杨杰 in F:\project\crawler-plugin\backend-java) -2026-03-28 23:08:39.824 [main] INFO c.nanri.aiimage.AiImageApplication - No active profile set, falling back to 1 default profile: "default" -2026-03-28 23:08:40.928 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -2026-03-28 23:08:40.930 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. -2026-03-28 23:08:40.964 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 21 ms. Found 0 Redis repository interfaces. -2026-03-28 23:08:41.567 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 18080 (http) -2026-03-28 23:08:41.581 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2026-03-28 23:08:41.582 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.36] -2026-03-28 23:08:41.641 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2026-03-28 23:08:41.641 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1776 ms -2026-03-28 23:08:42.619 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - - -Using generated security password: a109cbb6-ed01-4ddd-a6f2-16e36807557a - -This generated password is for development use only. Your security configuration must be updated before running your application in production. - -2026-03-28 23:08:42.636 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager -2026-03-28 23:08:43.259 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 1 endpoint beneath base path '/actuator' -2026-03-28 23:08:43.354 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 18080 (http) with context path '/' -2026-03-28 23:08:43.372 [main] INFO c.nanri.aiimage.AiImageApplication - Started AiImageApplication in 4.006 seconds (process running for 4.637) -2026-03-28 23:08:43.609 [RMI TCP Connection(3)-192.168.9.14] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' -2026-03-28 23:08:43.609 [RMI TCP Connection(3)-192.168.9.14] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' -2026-03-28 23:08:43.612 [RMI TCP Connection(3)-192.168.9.14] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 3 ms -2026-03-28 23:08:44.487 [http-nio-18080-exec-1] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... -2026-03-28 23:08:44.958 [http-nio-18080-exec-1] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@38a141e1 -2026-03-28 23:08:44.962 [http-nio-18080-exec-1] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. -2026-03-28 23:09:54.424 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] cache miss, requesting upstream, keyHash=a912d0d6649f -2026-03-28 23:09:54.859 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] skip invalid apiKey while resolving companyId, keyHash=a912d0d6649f -2026-03-28 23:09:54.901 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-03-28 23:09:55.077 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, size=21 -2026-03-28 23:09:55.119 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17719218431526 -2026-03-28 23:09:55.366 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17633627241792 -2026-03-28 23:09:55.610 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17549810616820 -2026-03-28 23:09:55.867 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17550861697817 -2026-03-28 23:09:56.122 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17572485086466 -2026-03-28 23:09:56.371 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17620718352236 -2026-03-28 23:09:56.640 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17573395442422 -2026-03-28 23:09:56.904 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543971161848 -2026-03-28 23:09:57.166 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17676840392758 -2026-03-28 23:09:57.415 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543973861944 -2026-03-28 23:09:57.771 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17613993013398 -2026-03-28 23:09:58.025 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543915345493, size=4 -2026-03-28 23:09:58.025 [http-nio-18080-exec-10] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] matched via upstream scan, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=郭亚芳, shopId=27730548558377, userId=17543915345493 -2026-03-28 23:10:30.215 [scheduling-1] ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task -org.springframework.jdbc.UncategorizedSQLException: -### Error querying database. Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -### The error may exist in com/nanri/aiimage/modules/task/mapper/FileTaskMapper.java (best guess) -### The error may involve defaultParameterMap -### The error occurred while setting parameters -### SQL: SELECT id,task_no,module_type,task_mode,status,source_file_count,success_file_count,failed_file_count,request_json,result_json,error_message,created_by,user_id,created_at,updated_at,finished_at FROM biz_file_task WHERE (module_type = ? AND status = ?) ORDER BY updated_at ASC limit 100 -### Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -; uncategorized SQLException; SQL state [HY001]; error code [1038]; Out of sort memory, consider increasing server sort buffer size - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) - at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:164) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) - at jdk.proxy2/jdk.proxy2.$Proxy115.selectList(Unknown Source) - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandStaleTaskService.finalizeCompletedRunningTasks(DeleteBrandStaleTaskService.java:78) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) - at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) - at io.micrometer.observation.Observation.observe(Observation.java:499) - at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) - at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) - at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) - at jdk.proxy3/jdk.proxy3.$Proxy171.execute(Unknown Source) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) - at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) - at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) - at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) - ... 22 common frames omitted -2026-03-28 23:11:21.749 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] cache miss, requesting upstream, keyHash=a912d0d6649f -2026-03-28 23:11:21.929 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] skip invalid apiKey while resolving companyId, keyHash=a912d0d6649f -2026-03-28 23:11:21.973 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-03-28 23:11:22.025 [http-nio-18080-exec-5] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] hit shop-match cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=魏振峰, shopId=27543917795757, userId=17543915345493 -2026-03-28 23:12:30.094 [scheduling-1] ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task -org.springframework.jdbc.UncategorizedSQLException: -### Error querying database. Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -### The error may exist in com/nanri/aiimage/modules/task/mapper/FileTaskMapper.java (best guess) -### The error may involve defaultParameterMap -### The error occurred while setting parameters -### SQL: SELECT id,task_no,module_type,task_mode,status,source_file_count,success_file_count,failed_file_count,request_json,result_json,error_message,created_by,user_id,created_at,updated_at,finished_at FROM biz_file_task WHERE (module_type = ? AND status = ?) ORDER BY updated_at ASC limit 100 -### Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -; uncategorized SQLException; SQL state [HY001]; error code [1038]; Out of sort memory, consider increasing server sort buffer size - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) - at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:164) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) - at jdk.proxy2/jdk.proxy2.$Proxy115.selectList(Unknown Source) - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandStaleTaskService.finalizeCompletedRunningTasks(DeleteBrandStaleTaskService.java:78) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) - at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) - at io.micrometer.observation.Observation.observe(Observation.java:499) - at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) - at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) - at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) - at jdk.proxy3/jdk.proxy3.$Proxy171.execute(Unknown Source) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) - at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) - at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) - at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) - ... 22 common frames omitted -2026-03-28 23:14:30.097 [scheduling-1] ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task -org.springframework.jdbc.UncategorizedSQLException: -### Error querying database. Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -### The error may exist in com/nanri/aiimage/modules/task/mapper/FileTaskMapper.java (best guess) -### The error may involve defaultParameterMap -### The error occurred while setting parameters -### SQL: SELECT id,task_no,module_type,task_mode,status,source_file_count,success_file_count,failed_file_count,request_json,result_json,error_message,created_by,user_id,created_at,updated_at,finished_at FROM biz_file_task WHERE (module_type = ? AND status = ?) ORDER BY updated_at ASC limit 100 -### Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -; uncategorized SQLException; SQL state [HY001]; error code [1038]; Out of sort memory, consider increasing server sort buffer size - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) - at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:164) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) - at jdk.proxy2/jdk.proxy2.$Proxy115.selectList(Unknown Source) - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandStaleTaskService.finalizeCompletedRunningTasks(DeleteBrandStaleTaskService.java:78) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) - at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) - at io.micrometer.observation.Observation.observe(Observation.java:499) - at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) - at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) - at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) - at jdk.proxy3/jdk.proxy3.$Proxy171.execute(Unknown Source) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) - at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) - at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) - at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) - ... 22 common frames omitted -2026-03-28 23:16:30.086 [scheduling-1] ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task -org.springframework.jdbc.UncategorizedSQLException: -### Error querying database. Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -### The error may exist in com/nanri/aiimage/modules/task/mapper/FileTaskMapper.java (best guess) -### The error may involve defaultParameterMap -### The error occurred while setting parameters -### SQL: SELECT id,task_no,module_type,task_mode,status,source_file_count,success_file_count,failed_file_count,request_json,result_json,error_message,created_by,user_id,created_at,updated_at,finished_at FROM biz_file_task WHERE (module_type = ? AND status = ?) ORDER BY updated_at ASC limit 100 -### Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -; uncategorized SQLException; SQL state [HY001]; error code [1038]; Out of sort memory, consider increasing server sort buffer size - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) - at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:164) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) - at jdk.proxy2/jdk.proxy2.$Proxy115.selectList(Unknown Source) - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandStaleTaskService.finalizeCompletedRunningTasks(DeleteBrandStaleTaskService.java:78) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) - at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) - at io.micrometer.observation.Observation.observe(Observation.java:499) - at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) - at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) - at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) - at jdk.proxy3/jdk.proxy3.$Proxy171.execute(Unknown Source) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) - at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) - at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) - at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) - ... 22 common frames omitted -2026-03-28 23:18:30.091 [scheduling-1] ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task -org.springframework.jdbc.UncategorizedSQLException: -### Error querying database. Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -### The error may exist in com/nanri/aiimage/modules/task/mapper/FileTaskMapper.java (best guess) -### The error may involve defaultParameterMap -### The error occurred while setting parameters -### SQL: SELECT id,task_no,module_type,task_mode,status,source_file_count,success_file_count,failed_file_count,request_json,result_json,error_message,created_by,user_id,created_at,updated_at,finished_at FROM biz_file_task WHERE (module_type = ? AND status = ?) ORDER BY updated_at ASC limit 100 -### Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -; uncategorized SQLException; SQL state [HY001]; error code [1038]; Out of sort memory, consider increasing server sort buffer size - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) - at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:164) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) - at jdk.proxy2/jdk.proxy2.$Proxy115.selectList(Unknown Source) - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandStaleTaskService.finalizeCompletedRunningTasks(DeleteBrandStaleTaskService.java:78) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) - at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) - at io.micrometer.observation.Observation.observe(Observation.java:499) - at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) - at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) - at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) - at jdk.proxy3/jdk.proxy3.$Proxy171.execute(Unknown Source) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) - at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) - at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) - at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) - ... 22 common frames omitted -2026-03-28 23:20:30.092 [scheduling-1] ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task -org.springframework.jdbc.UncategorizedSQLException: -### Error querying database. Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -### The error may exist in com/nanri/aiimage/modules/task/mapper/FileTaskMapper.java (best guess) -### The error may involve defaultParameterMap -### The error occurred while setting parameters -### SQL: SELECT id,task_no,module_type,task_mode,status,source_file_count,success_file_count,failed_file_count,request_json,result_json,error_message,created_by,user_id,created_at,updated_at,finished_at FROM biz_file_task WHERE (module_type = ? AND status = ?) ORDER BY updated_at ASC limit 100 -### Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -; uncategorized SQLException; SQL state [HY001]; error code [1038]; Out of sort memory, consider increasing server sort buffer size - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) - at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:164) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) - at jdk.proxy2/jdk.proxy2.$Proxy115.selectList(Unknown Source) - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandStaleTaskService.finalizeCompletedRunningTasks(DeleteBrandStaleTaskService.java:78) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) - at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) - at io.micrometer.observation.Observation.observe(Observation.java:499) - at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) - at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) - at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) - at jdk.proxy3/jdk.proxy3.$Proxy171.execute(Unknown Source) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) - at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) - at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) - at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) - ... 22 common frames omitted -2026-03-28 23:21:58.466 [http-nio-18080-exec-8] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] cache miss, requesting upstream, keyHash=a912d0d6649f -2026-03-28 23:21:58.683 [http-nio-18080-exec-8] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] skip invalid apiKey while resolving companyId, keyHash=a912d0d6649f -2026-03-28 23:21:58.724 [http-nio-18080-exec-8] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-03-28 23:21:58.763 [http-nio-18080-exec-8] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] hit shop-match cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=魏振峰, shopId=27543917795757, userId=17543915345493 -2026-03-28 23:22:30.087 [scheduling-1] ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task -org.springframework.jdbc.UncategorizedSQLException: -### Error querying database. Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -### The error may exist in com/nanri/aiimage/modules/task/mapper/FileTaskMapper.java (best guess) -### The error may involve defaultParameterMap -### The error occurred while setting parameters -### SQL: SELECT id,task_no,module_type,task_mode,status,source_file_count,success_file_count,failed_file_count,request_json,result_json,error_message,created_by,user_id,created_at,updated_at,finished_at FROM biz_file_task WHERE (module_type = ? AND status = ?) ORDER BY updated_at ASC limit 100 -### Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -; uncategorized SQLException; SQL state [HY001]; error code [1038]; Out of sort memory, consider increasing server sort buffer size - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) - at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:164) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) - at jdk.proxy2/jdk.proxy2.$Proxy115.selectList(Unknown Source) - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandStaleTaskService.finalizeCompletedRunningTasks(DeleteBrandStaleTaskService.java:78) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) - at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) - at io.micrometer.observation.Observation.observe(Observation.java:499) - at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) - at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) - at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) - at jdk.proxy3/jdk.proxy3.$Proxy171.execute(Unknown Source) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) - at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) - at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) - at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) - ... 22 common frames omitted -2026-03-28 23:23:08.105 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] cache miss, requesting upstream, keyHash=a912d0d6649f -2026-03-28 23:23:08.256 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] skip invalid apiKey while resolving companyId, keyHash=a912d0d6649f -2026-03-28 23:23:08.298 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-03-28 23:23:08.344 [http-nio-18080-exec-4] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] hit shop-match cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=魏振峰, shopId=27543917795757, userId=17543915345493 -2026-03-28 23:24:30.086 [scheduling-1] ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task -org.springframework.jdbc.UncategorizedSQLException: -### Error querying database. Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -### The error may exist in com/nanri/aiimage/modules/task/mapper/FileTaskMapper.java (best guess) -### The error may involve defaultParameterMap -### The error occurred while setting parameters -### SQL: SELECT id,task_no,module_type,task_mode,status,source_file_count,success_file_count,failed_file_count,request_json,result_json,error_message,created_by,user_id,created_at,updated_at,finished_at FROM biz_file_task WHERE (module_type = ? AND status = ?) ORDER BY updated_at ASC limit 100 -### Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -; uncategorized SQLException; SQL state [HY001]; error code [1038]; Out of sort memory, consider increasing server sort buffer size - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) - at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:164) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) - at jdk.proxy2/jdk.proxy2.$Proxy115.selectList(Unknown Source) - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandStaleTaskService.finalizeCompletedRunningTasks(DeleteBrandStaleTaskService.java:78) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) - at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) - at io.micrometer.observation.Observation.observe(Observation.java:499) - at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) - at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) - at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) - at jdk.proxy3/jdk.proxy3.$Proxy171.execute(Unknown Source) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) - at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) - at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) - at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) - ... 22 common frames omitted -2026-03-28 23:26:30.101 [scheduling-1] ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task -org.springframework.jdbc.UncategorizedSQLException: -### Error querying database. Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -### The error may exist in com/nanri/aiimage/modules/task/mapper/FileTaskMapper.java (best guess) -### The error may involve defaultParameterMap -### The error occurred while setting parameters -### SQL: SELECT id,task_no,module_type,task_mode,status,source_file_count,success_file_count,failed_file_count,request_json,result_json,error_message,created_by,user_id,created_at,updated_at,finished_at FROM biz_file_task WHERE (module_type = ? AND status = ?) ORDER BY updated_at ASC limit 100 -### Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -; uncategorized SQLException; SQL state [HY001]; error code [1038]; Out of sort memory, consider increasing server sort buffer size - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) - at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:164) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) - at jdk.proxy2/jdk.proxy2.$Proxy115.selectList(Unknown Source) - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandStaleTaskService.finalizeCompletedRunningTasks(DeleteBrandStaleTaskService.java:78) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) - at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) - at io.micrometer.observation.Observation.observe(Observation.java:499) - at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) - at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) - at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) - at jdk.proxy3/jdk.proxy3.$Proxy171.execute(Unknown Source) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) - at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) - at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) - at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) - ... 22 common frames omitted -2026-03-28 23:28:30.089 [scheduling-1] ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task -org.springframework.jdbc.UncategorizedSQLException: -### Error querying database. Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -### The error may exist in com/nanri/aiimage/modules/task/mapper/FileTaskMapper.java (best guess) -### The error may involve defaultParameterMap -### The error occurred while setting parameters -### SQL: SELECT id,task_no,module_type,task_mode,status,source_file_count,success_file_count,failed_file_count,request_json,result_json,error_message,created_by,user_id,created_at,updated_at,finished_at FROM biz_file_task WHERE (module_type = ? AND status = ?) ORDER BY updated_at ASC limit 100 -### Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -; uncategorized SQLException; SQL state [HY001]; error code [1038]; Out of sort memory, consider increasing server sort buffer size - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) - at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:164) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) - at jdk.proxy2/jdk.proxy2.$Proxy115.selectList(Unknown Source) - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandStaleTaskService.finalizeCompletedRunningTasks(DeleteBrandStaleTaskService.java:78) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) - at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) - at io.micrometer.observation.Observation.observe(Observation.java:499) - at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) - at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) - at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) - at jdk.proxy3/jdk.proxy3.$Proxy171.execute(Unknown Source) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) - at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) - at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) - at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) - ... 22 common frames omitted -2026-03-28 23:28:38.906 [http-nio-18080-exec-4] INFO o.s.api.AbstractOpenApiResource - Init duration for springdoc-openapi is: 676 ms -2026-03-28 23:28:38.922 [http-nio-18080-exec-4] ERROR c.n.a.c.e.GlobalExceptionHandler - Unhandled exception -org.springframework.web.context.request.async.AsyncRequestNotUsableException: ServletOutputStream failed to write: java.io.IOException: 你的主机中的软件中止了一个已建立的连接。 - at org.springframework.web.context.request.async.StandardServletAsyncWebRequest$LifecycleHttpServletResponse.handleIOException(StandardServletAsyncWebRequest.java:343) - at org.springframework.web.context.request.async.StandardServletAsyncWebRequest$LifecycleServletOutputStream.write(StandardServletAsyncWebRequest.java:401) - at java.base/java.io.OutputStream.write(OutputStream.java:124) - at org.springframework.util.StreamUtils.copy(StreamUtils.java:117) - at org.springframework.http.converter.ByteArrayHttpMessageConverter.writeInternal(ByteArrayHttpMessageConverter.java:67) - at org.springframework.http.converter.ByteArrayHttpMessageConverter.writeInternal(ByteArrayHttpMessageConverter.java:38) - at org.springframework.http.converter.AbstractHttpMessageConverter.write(AbstractHttpMessageConverter.java:235) - at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:300) - at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:192) - at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:78) - at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:136) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) - at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) - at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) - at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) - at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) - at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) - at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) - at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) - at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) - at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) - at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) - at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) - at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) - at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) - at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) - at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) - at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) - at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) - at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) - at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) - at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) - at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) - at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) - at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) - at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) - at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: org.apache.catalina.connector.ClientAbortException: java.io.IOException: 你的主机中的软件中止了一个已建立的连接。 - at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:346) - at org.apache.catalina.connector.OutputBuffer.appendByteArray(OutputBuffer.java:751) - at org.apache.catalina.connector.OutputBuffer.append(OutputBuffer.java:672) - at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:381) - at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:359) - at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:102) - at org.springframework.security.web.util.OnCommittedResponseWrapper$SaveContextServletOutputStream.write(OnCommittedResponseWrapper.java:639) - at org.springframework.web.context.request.async.StandardServletAsyncWebRequest$LifecycleServletOutputStream.write(StandardServletAsyncWebRequest.java:398) - ... 131 common frames omitted -Caused by: java.io.IOException: 你的主机中的软件中止了一个已建立的连接。 - at java.base/sun.nio.ch.SocketDispatcher.write0(Native Method) - at java.base/sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:54) - at java.base/sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:137) - at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:102) - at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:58) - at java.base/sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:542) - at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:122) - at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1380) - at org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:764) - at org.apache.tomcat.util.net.SocketWrapperBase.writeBlocking(SocketWrapperBase.java:589) - at org.apache.tomcat.util.net.SocketWrapperBase.write(SocketWrapperBase.java:533) - at org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.doWrite(Http11OutputBuffer.java:548) - at org.apache.coyote.http11.filters.IdentityOutputFilter.doWrite(IdentityOutputFilter.java:73) - at org.apache.coyote.http11.Http11OutputBuffer.doWrite(Http11OutputBuffer.java:193) - at org.apache.coyote.Response.doWrite(Response.java:631) - at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:334) - ... 138 common frames omitted -2026-03-28 23:30:30.095 [scheduling-1] ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task -org.springframework.jdbc.UncategorizedSQLException: -### Error querying database. Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -### The error may exist in com/nanri/aiimage/modules/task/mapper/FileTaskMapper.java (best guess) -### The error may involve defaultParameterMap -### The error occurred while setting parameters -### SQL: SELECT id,task_no,module_type,task_mode,status,source_file_count,success_file_count,failed_file_count,request_json,result_json,error_message,created_by,user_id,created_at,updated_at,finished_at FROM biz_file_task WHERE (module_type = ? AND status = ?) ORDER BY updated_at ASC limit 100 -### Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -; uncategorized SQLException; SQL state [HY001]; error code [1038]; Out of sort memory, consider increasing server sort buffer size - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) - at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:164) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) - at jdk.proxy2/jdk.proxy2.$Proxy115.selectList(Unknown Source) - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandStaleTaskService.finalizeCompletedRunningTasks(DeleteBrandStaleTaskService.java:78) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) - at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) - at io.micrometer.observation.Observation.observe(Observation.java:499) - at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) - at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) - at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) - at jdk.proxy3/jdk.proxy3.$Proxy171.execute(Unknown Source) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) - at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) - at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) - at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) - ... 22 common frames omitted -2026-03-28 23:32:30.086 [scheduling-1] ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task -org.springframework.jdbc.UncategorizedSQLException: -### Error querying database. Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -### The error may exist in com/nanri/aiimage/modules/task/mapper/FileTaskMapper.java (best guess) -### The error may involve defaultParameterMap -### The error occurred while setting parameters -### SQL: SELECT id,task_no,module_type,task_mode,status,source_file_count,success_file_count,failed_file_count,request_json,result_json,error_message,created_by,user_id,created_at,updated_at,finished_at FROM biz_file_task WHERE (module_type = ? AND status = ?) ORDER BY updated_at ASC limit 100 -### Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -; uncategorized SQLException; SQL state [HY001]; error code [1038]; Out of sort memory, consider increasing server sort buffer size - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) - at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:164) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) - at jdk.proxy2/jdk.proxy2.$Proxy115.selectList(Unknown Source) - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandStaleTaskService.finalizeCompletedRunningTasks(DeleteBrandStaleTaskService.java:78) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) - at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) - at io.micrometer.observation.Observation.observe(Observation.java:499) - at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) - at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) - at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) - at jdk.proxy3/jdk.proxy3.$Proxy171.execute(Unknown Source) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) - at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) - at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) - at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) - ... 22 common frames omitted -2026-03-28 23:34:30.095 [scheduling-1] ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task -org.springframework.jdbc.UncategorizedSQLException: -### Error querying database. Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -### The error may exist in com/nanri/aiimage/modules/task/mapper/FileTaskMapper.java (best guess) -### The error may involve defaultParameterMap -### The error occurred while setting parameters -### SQL: SELECT id,task_no,module_type,task_mode,status,source_file_count,success_file_count,failed_file_count,request_json,result_json,error_message,created_by,user_id,created_at,updated_at,finished_at FROM biz_file_task WHERE (module_type = ? AND status = ?) ORDER BY updated_at ASC limit 100 -### Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -; uncategorized SQLException; SQL state [HY001]; error code [1038]; Out of sort memory, consider increasing server sort buffer size - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) - at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:164) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) - at jdk.proxy2/jdk.proxy2.$Proxy115.selectList(Unknown Source) - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandStaleTaskService.finalizeCompletedRunningTasks(DeleteBrandStaleTaskService.java:78) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) - at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) - at io.micrometer.observation.Observation.observe(Observation.java:499) - at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) - at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) - at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) - at jdk.proxy3/jdk.proxy3.$Proxy171.execute(Unknown Source) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) - at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) - at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) - at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) - ... 22 common frames omitted -2026-03-28 23:36:30.096 [scheduling-1] ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task -org.springframework.jdbc.UncategorizedSQLException: -### Error querying database. Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -### The error may exist in com/nanri/aiimage/modules/task/mapper/FileTaskMapper.java (best guess) -### The error may involve defaultParameterMap -### The error occurred while setting parameters -### SQL: SELECT id,task_no,module_type,task_mode,status,source_file_count,success_file_count,failed_file_count,request_json,result_json,error_message,created_by,user_id,created_at,updated_at,finished_at FROM biz_file_task WHERE (module_type = ? AND status = ?) ORDER BY updated_at ASC limit 100 -### Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -; uncategorized SQLException; SQL state [HY001]; error code [1038]; Out of sort memory, consider increasing server sort buffer size - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) - at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:164) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) - at jdk.proxy2/jdk.proxy2.$Proxy115.selectList(Unknown Source) - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandStaleTaskService.finalizeCompletedRunningTasks(DeleteBrandStaleTaskService.java:78) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) - at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) - at io.micrometer.observation.Observation.observe(Observation.java:499) - at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) - at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) - at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) - at jdk.proxy3/jdk.proxy3.$Proxy171.execute(Unknown Source) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) - at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) - at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) - at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) - ... 22 common frames omitted -2026-03-28 23:38:30.098 [scheduling-1] ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task -org.springframework.jdbc.UncategorizedSQLException: -### Error querying database. Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -### The error may exist in com/nanri/aiimage/modules/task/mapper/FileTaskMapper.java (best guess) -### The error may involve defaultParameterMap -### The error occurred while setting parameters -### SQL: SELECT id,task_no,module_type,task_mode,status,source_file_count,success_file_count,failed_file_count,request_json,result_json,error_message,created_by,user_id,created_at,updated_at,finished_at FROM biz_file_task WHERE (module_type = ? AND status = ?) ORDER BY updated_at ASC limit 100 -### Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -; uncategorized SQLException; SQL state [HY001]; error code [1038]; Out of sort memory, consider increasing server sort buffer size - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) - at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:164) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) - at jdk.proxy2/jdk.proxy2.$Proxy115.selectList(Unknown Source) - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandStaleTaskService.finalizeCompletedRunningTasks(DeleteBrandStaleTaskService.java:78) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) - at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) - at io.micrometer.observation.Observation.observe(Observation.java:499) - at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) - at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) - at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) - at jdk.proxy3/jdk.proxy3.$Proxy171.execute(Unknown Source) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) - at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) - at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) - at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) - ... 22 common frames omitted -2026-03-28 23:38:52.542 [http-nio-18080-exec-5] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@7cdfd242 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. -2026-03-28 23:40:30.094 [scheduling-1] ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task -org.springframework.jdbc.UncategorizedSQLException: -### Error querying database. Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -### The error may exist in com/nanri/aiimage/modules/task/mapper/FileTaskMapper.java (best guess) -### The error may involve defaultParameterMap -### The error occurred while setting parameters -### SQL: SELECT id,task_no,module_type,task_mode,status,source_file_count,success_file_count,failed_file_count,request_json,result_json,error_message,created_by,user_id,created_at,updated_at,finished_at FROM biz_file_task WHERE (module_type = ? AND status = ?) ORDER BY updated_at ASC limit 100 -### Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -; uncategorized SQLException; SQL state [HY001]; error code [1038]; Out of sort memory, consider increasing server sort buffer size - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) - at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:164) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) - at jdk.proxy2/jdk.proxy2.$Proxy115.selectList(Unknown Source) - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandStaleTaskService.finalizeCompletedRunningTasks(DeleteBrandStaleTaskService.java:78) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) - at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) - at io.micrometer.observation.Observation.observe(Observation.java:499) - at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) - at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) - at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) - at jdk.proxy3/jdk.proxy3.$Proxy171.execute(Unknown Source) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) - at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) - at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) - at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) - ... 22 common frames omitted -2026-03-28 23:40:46.848 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] cache miss, requesting upstream, keyHash=a912d0d6649f -2026-03-28 23:40:47.079 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] skip invalid apiKey while resolving companyId, keyHash=a912d0d6649f -2026-03-28 23:40:47.125 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-03-28 23:40:47.402 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-03-28 23:40:47.963 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-staff] cached upstream result, keyHash=e4ade5d7ed7e, companyId=17543915349961, size=21 -2026-03-28 23:40:48.008 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17719218431526 -2026-03-28 23:40:48.270 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17633627241792 -2026-03-28 23:40:48.543 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17549810616820 -2026-03-28 23:40:48.789 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17550861697817 -2026-03-28 23:40:49.082 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17572485086466 -2026-03-28 23:40:49.351 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17620718352236 -2026-03-28 23:40:49.645 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17573395442422 -2026-03-28 23:40:49.894 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543971161848 -2026-03-28 23:40:50.145 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17676840392758 -2026-03-28 23:40:50.417 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543973861944 -2026-03-28 23:40:50.709 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17613993013398 -2026-03-28 23:40:51.088 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cache miss, requesting upstream, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543915345493 -2026-03-28 23:40:51.657 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-stores] cached upstream result, keyHash=e4ade5d7ed7e, companyId=17543915349961, userId=17543915345493, size=4 -2026-03-28 23:40:51.657 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] matched via upstream scan, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=魏振峰, shopId=27543917795757, userId=17543915345493 -2026-03-28 23:42:02.469 [http-nio-18080-exec-7] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] cache miss, requesting upstream, keyHash=a912d0d6649f -2026-03-28 23:42:02.687 [http-nio-18080-exec-7] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] skip invalid apiKey while resolving companyId, keyHash=a912d0d6649f -2026-03-28 23:42:02.729 [http-nio-18080-exec-7] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-03-28 23:42:02.772 [http-nio-18080-exec-7] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] hit shop-match cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=魏振峰, shopId=27543917795757, userId=17543915345493 -2026-03-28 23:42:30.095 [scheduling-1] ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task -org.springframework.jdbc.UncategorizedSQLException: -### Error querying database. Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -### The error may exist in com/nanri/aiimage/modules/task/mapper/FileTaskMapper.java (best guess) -### The error may involve defaultParameterMap -### The error occurred while setting parameters -### SQL: SELECT id,task_no,module_type,task_mode,status,source_file_count,success_file_count,failed_file_count,request_json,result_json,error_message,created_by,user_id,created_at,updated_at,finished_at FROM biz_file_task WHERE (module_type = ? AND status = ?) ORDER BY updated_at ASC limit 100 -### Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -; uncategorized SQLException; SQL state [HY001]; error code [1038]; Out of sort memory, consider increasing server sort buffer size - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) - at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:164) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) - at jdk.proxy2/jdk.proxy2.$Proxy115.selectList(Unknown Source) - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandStaleTaskService.finalizeCompletedRunningTasks(DeleteBrandStaleTaskService.java:78) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) - at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) - at io.micrometer.observation.Observation.observe(Observation.java:499) - at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) - at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) - at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) - at jdk.proxy3/jdk.proxy3.$Proxy171.execute(Unknown Source) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) - at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) - at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) - at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) - ... 22 common frames omitted -2026-03-28 23:44:30.098 [scheduling-1] ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task -org.springframework.jdbc.UncategorizedSQLException: -### Error querying database. Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -### The error may exist in com/nanri/aiimage/modules/task/mapper/FileTaskMapper.java (best guess) -### The error may involve defaultParameterMap -### The error occurred while setting parameters -### SQL: SELECT id,task_no,module_type,task_mode,status,source_file_count,success_file_count,failed_file_count,request_json,result_json,error_message,created_by,user_id,created_at,updated_at,finished_at FROM biz_file_task WHERE (module_type = ? AND status = ?) ORDER BY updated_at ASC limit 100 -### Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -; uncategorized SQLException; SQL state [HY001]; error code [1038]; Out of sort memory, consider increasing server sort buffer size - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) - at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:164) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) - at jdk.proxy2/jdk.proxy2.$Proxy115.selectList(Unknown Source) - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandStaleTaskService.finalizeCompletedRunningTasks(DeleteBrandStaleTaskService.java:78) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) - at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) - at io.micrometer.observation.Observation.observe(Observation.java:499) - at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) - at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) - at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) - at jdk.proxy3/jdk.proxy3.$Proxy171.execute(Unknown Source) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) - at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) - at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) - at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) - ... 22 common frames omitted -2026-03-28 23:46:30.101 [scheduling-1] ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task -org.springframework.jdbc.UncategorizedSQLException: -### Error querying database. Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -### The error may exist in com/nanri/aiimage/modules/task/mapper/FileTaskMapper.java (best guess) -### The error may involve defaultParameterMap -### The error occurred while setting parameters -### SQL: SELECT id,task_no,module_type,task_mode,status,source_file_count,success_file_count,failed_file_count,request_json,result_json,error_message,created_by,user_id,created_at,updated_at,finished_at FROM biz_file_task WHERE (module_type = ? AND status = ?) ORDER BY updated_at ASC limit 100 -### Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -; uncategorized SQLException; SQL state [HY001]; error code [1038]; Out of sort memory, consider increasing server sort buffer size - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) - at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:164) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) - at jdk.proxy2/jdk.proxy2.$Proxy115.selectList(Unknown Source) - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandStaleTaskService.finalizeCompletedRunningTasks(DeleteBrandStaleTaskService.java:78) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) - at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) - at io.micrometer.observation.Observation.observe(Observation.java:499) - at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) - at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) - at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) - at jdk.proxy3/jdk.proxy3.$Proxy171.execute(Unknown Source) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) - at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) - at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) - at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) - ... 22 common frames omitted -2026-03-28 23:48:30.095 [scheduling-1] ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task -org.springframework.jdbc.UncategorizedSQLException: -### Error querying database. Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -### The error may exist in com/nanri/aiimage/modules/task/mapper/FileTaskMapper.java (best guess) -### The error may involve defaultParameterMap -### The error occurred while setting parameters -### SQL: SELECT id,task_no,module_type,task_mode,status,source_file_count,success_file_count,failed_file_count,request_json,result_json,error_message,created_by,user_id,created_at,updated_at,finished_at FROM biz_file_task WHERE (module_type = ? AND status = ?) ORDER BY updated_at ASC limit 100 -### Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -; uncategorized SQLException; SQL state [HY001]; error code [1038]; Out of sort memory, consider increasing server sort buffer size - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) - at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:164) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) - at jdk.proxy2/jdk.proxy2.$Proxy115.selectList(Unknown Source) - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandStaleTaskService.finalizeCompletedRunningTasks(DeleteBrandStaleTaskService.java:78) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) - at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) - at io.micrometer.observation.Observation.observe(Observation.java:499) - at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) - at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) - at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) - at jdk.proxy3/jdk.proxy3.$Proxy171.execute(Unknown Source) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) - at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) - at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) - at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) - ... 22 common frames omitted -2026-03-28 23:49:07.409 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] cache miss, requesting upstream, keyHash=a912d0d6649f -2026-03-28 23:49:07.652 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] skip invalid apiKey while resolving companyId, keyHash=a912d0d6649f -2026-03-28 23:49:07.701 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-03-28 23:49:07.749 [http-nio-18080-exec-9] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] hit shop-match cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=魏振峰, shopId=27543917795757, userId=17543915345493 -2026-03-28 23:50:30.108 [scheduling-1] ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task -org.springframework.jdbc.UncategorizedSQLException: -### Error querying database. Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -### The error may exist in com/nanri/aiimage/modules/task/mapper/FileTaskMapper.java (best guess) -### The error may involve defaultParameterMap -### The error occurred while setting parameters -### SQL: SELECT id,task_no,module_type,task_mode,status,source_file_count,success_file_count,failed_file_count,request_json,result_json,error_message,created_by,user_id,created_at,updated_at,finished_at FROM biz_file_task WHERE (module_type = ? AND status = ?) ORDER BY updated_at ASC limit 100 -### Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -; uncategorized SQLException; SQL state [HY001]; error code [1038]; Out of sort memory, consider increasing server sort buffer size - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) - at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:164) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) - at jdk.proxy2/jdk.proxy2.$Proxy115.selectList(Unknown Source) - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandStaleTaskService.finalizeCompletedRunningTasks(DeleteBrandStaleTaskService.java:78) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) - at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) - at io.micrometer.observation.Observation.observe(Observation.java:499) - at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) - at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) - at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) - at jdk.proxy3/jdk.proxy3.$Proxy171.execute(Unknown Source) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) - at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) - at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) - at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) - ... 22 common frames omitted -2026-03-28 23:52:30.099 [scheduling-1] ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task -org.springframework.jdbc.UncategorizedSQLException: -### Error querying database. Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -### The error may exist in com/nanri/aiimage/modules/task/mapper/FileTaskMapper.java (best guess) -### The error may involve defaultParameterMap -### The error occurred while setting parameters -### SQL: SELECT id,task_no,module_type,task_mode,status,source_file_count,success_file_count,failed_file_count,request_json,result_json,error_message,created_by,user_id,created_at,updated_at,finished_at FROM biz_file_task WHERE (module_type = ? AND status = ?) ORDER BY updated_at ASC limit 100 -### Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -; uncategorized SQLException; SQL state [HY001]; error code [1038]; Out of sort memory, consider increasing server sort buffer size - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) - at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:164) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) - at jdk.proxy2/jdk.proxy2.$Proxy115.selectList(Unknown Source) - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandStaleTaskService.finalizeCompletedRunningTasks(DeleteBrandStaleTaskService.java:78) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) - at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) - at io.micrometer.observation.Observation.observe(Observation.java:499) - at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) - at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) - at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) - at jdk.proxy3/jdk.proxy3.$Proxy171.execute(Unknown Source) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) - at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) - at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) - at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) - ... 22 common frames omitted -2026-03-28 23:54:30.105 [scheduling-1] ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task -org.springframework.jdbc.UncategorizedSQLException: -### Error querying database. Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -### The error may exist in com/nanri/aiimage/modules/task/mapper/FileTaskMapper.java (best guess) -### The error may involve defaultParameterMap -### The error occurred while setting parameters -### SQL: SELECT id,task_no,module_type,task_mode,status,source_file_count,success_file_count,failed_file_count,request_json,result_json,error_message,created_by,user_id,created_at,updated_at,finished_at FROM biz_file_task WHERE (module_type = ? AND status = ?) ORDER BY updated_at ASC limit 100 -### Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -; uncategorized SQLException; SQL state [HY001]; error code [1038]; Out of sort memory, consider increasing server sort buffer size - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) - at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:164) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) - at jdk.proxy2/jdk.proxy2.$Proxy115.selectList(Unknown Source) - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandStaleTaskService.finalizeCompletedRunningTasks(DeleteBrandStaleTaskService.java:78) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) - at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) - at io.micrometer.observation.Observation.observe(Observation.java:499) - at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) - at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) - at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) - at jdk.proxy3/jdk.proxy3.$Proxy171.execute(Unknown Source) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) - at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) - at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) - at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) - ... 22 common frames omitted -2026-03-28 23:56:30.106 [scheduling-1] ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task -org.springframework.jdbc.UncategorizedSQLException: -### Error querying database. Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -### The error may exist in com/nanri/aiimage/modules/task/mapper/FileTaskMapper.java (best guess) -### The error may involve defaultParameterMap -### The error occurred while setting parameters -### SQL: SELECT id,task_no,module_type,task_mode,status,source_file_count,success_file_count,failed_file_count,request_json,result_json,error_message,created_by,user_id,created_at,updated_at,finished_at FROM biz_file_task WHERE (module_type = ? AND status = ?) ORDER BY updated_at ASC limit 100 -### Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -; uncategorized SQLException; SQL state [HY001]; error code [1038]; Out of sort memory, consider increasing server sort buffer size - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) - at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:164) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) - at jdk.proxy2/jdk.proxy2.$Proxy115.selectList(Unknown Source) - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandStaleTaskService.finalizeCompletedRunningTasks(DeleteBrandStaleTaskService.java:78) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) - at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) - at io.micrometer.observation.Observation.observe(Observation.java:499) - at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) - at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) - at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) - at jdk.proxy3/jdk.proxy3.$Proxy171.execute(Unknown Source) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) - at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) - at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) - at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) - ... 22 common frames omitted -2026-03-28 23:58:15.511 [http-nio-18080-exec-8] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] cache miss, requesting upstream, keyHash=a912d0d6649f -2026-03-28 23:58:15.649 [http-nio-18080-exec-8] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] skip invalid apiKey while resolving companyId, keyHash=a912d0d6649f -2026-03-28 23:58:15.693 [http-nio-18080-exec-8] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-03-28 23:58:15.737 [http-nio-18080-exec-8] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] hit shop-match cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=魏振峰, shopId=27543917795757, userId=17543915345493 -2026-03-28 23:58:30.122 [scheduling-1] ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task -org.springframework.jdbc.UncategorizedSQLException: -### Error querying database. Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -### The error may exist in com/nanri/aiimage/modules/task/mapper/FileTaskMapper.java (best guess) -### The error may involve defaultParameterMap -### The error occurred while setting parameters -### SQL: SELECT id,task_no,module_type,task_mode,status,source_file_count,success_file_count,failed_file_count,request_json,result_json,error_message,created_by,user_id,created_at,updated_at,finished_at FROM biz_file_task WHERE (module_type = ? AND status = ?) ORDER BY updated_at ASC limit 100 -### Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size -; uncategorized SQLException; SQL state [HY001]; error code [1038]; Out of sort memory, consider increasing server sort buffer size - at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) - at jdk.proxy2/jdk.proxy2.$Proxy106.selectList(Unknown Source) - at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:164) - at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) - at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) - at jdk.proxy2/jdk.proxy2.$Proxy115.selectList(Unknown Source) - at com.nanri.aiimage.modules.deletebrand.service.DeleteBrandStaleTaskService.finalizeCompletedRunningTasks(DeleteBrandStaleTaskService.java:78) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) - at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) - at io.micrometer.observation.Observation.observe(Observation.java:499) - at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) - at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) - at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) - at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) - at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) - at jdk.proxy3/jdk.proxy3.$Proxy171.execute(Unknown Source) - at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) - at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) - at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) - at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) - at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) - at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) - at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) - ... 22 common frames omitted -2026-03-28 23:59:08.125 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] cache miss, requesting upstream, keyHash=a912d0d6649f -2026-03-28 23:59:08.303 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] skip invalid apiKey while resolving companyId, keyHash=a912d0d6649f -2026-03-28 23:59:08.348 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-company] hit cache, keyHash=e4ade5d7ed7e, companyId=17543915349961 -2026-03-28 23:59:08.395 [http-nio-18080-exec-3] INFO c.n.a.m.z.service.ZiniaoAuthService - [ziniao-match] hit shop-match cache, keyHash=e4ade5d7ed7e, companyId=17543915349961, shopName=魏振峰, shopId=27543917795757, userId=17543915345493 diff --git a/backend-java/aiimage-backend.log.2026-03-29.0.gz b/backend-java/aiimage-backend.log.2026-03-29.0.gz deleted file mode 100644 index 3e4aa1c927253a0a86ba0b7b26e9b9e7919b6d00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30012 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 Pd$4Lp{7c0X$ezCdifpcy diff --git a/backend-java/aiimage-backend.log.2026-03-31.0.gz b/backend-java/aiimage-backend.log.2026-03-31.0.gz deleted file mode 100644 index eef268cdbc760149dfcf1cc7a1c55159e8d96aab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19440 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૚~7lUZ)BFH0M!^5{$2$kqXKf`dd+uL!wD#&-f|M~{Rjk3FN{=JjzH8NRy4Rs*C>Tm zw~usKz-C0HjH|>@YG^-%@e;Q{fiLk3$5FOCv4D}yJB9SJ;4P;0vdF|YjKP_fNXZ%r zTp|>~886gW6qSVhRp$s= zj1Db@J_z%jz5n@U)%w=djKhrVcupOON;j>Bv^-30CU53L_@|S4b1NieW1b*5v<<3p z-+f|~hmqjqdWDUJ=5U*=OVb#f_3AZb6T4csXv+&*IC9=x0)+^O&qR~toE(jKWLFbj zBPJ}%^EOtv3Ck?^aap6Xpb{?;e)L1#=u%6!k2)y|;XPVa z#2Dr?D2##t2b@JK!-1tx2D@$0&QJ-X0#nTBbFUc5&OB(*ASa?*g;BP?5eUD}W>zvm z4*lqcSVvR7LJ2S)MPm=cJ*W(zYs6X<6{2Yrgs@4n$b=Vpz5L;dq#su~_XzBha6X~I zHG7H#gP8H7G~!6O+0u^y#KVITO9Bd4ym2N1eI?!dBX(gPruKmdpU)1KlnazKtfGtr zZ_T)q-olw)Kb1UUw?%&hTRIlJGBA}mvSX6q_trgG zFw$jh6wb<>&m~KLLgbv0-ng25Ua7n2>R&BP|Lnw-k>R9mAPQkUc)7*HH+Zp=VMcpwD;oq4m}@0tVXEDoUvu zqN(x-4X~=~6kut;pcR`Kc*n|5*dBg`UOIS|WNtMBmKHMpfw_4ydKKPUIM^qQqOy=y z1gJo$P$TEZwN~;+<>Y$+yc}Gpr;ci>GNSOQ>@^c)_UfmP-TGij z<=#)PRs+j&B+M4MjMJkJ@D8nY*%bB2r4Zz0w`T~I0hR;5Pebf&IZhQ(2tj@k6QX7*S^C_#Qn!qg}5SUg`A zn!K>ZHoiLPHyppp@i?ki_RT`K0vB8SM9T#&3Oi=EpdQ^ocs06&xK`jTj@x;X#8 z^KO7edz}$QvL5`Lu8~~E-&iL5BeZ{Lw(+5oNWuFs&L6CcGIAeruve1qJM{sG9vfzP zBv{rp;b13HW8k_t)#HNmwO>O0v)3?D2~;F$C|t~n+2JmCNLv}$QHkbduzY*xix~;L z5BFgP1W8Sg!BTv|`|vuOK4*)57XV7=EUyBx3Iod$r;ql@Q3Y6uYB7h!AO)j)3}v$C z_}SAZ$``Pz!L@-O<|!bv-_+YqccI`eSCZhZ^`~7v5v0FPn!Evcv%ROWhzHwTRhmXh zL1D1$(P6f{NQP{~FN6k{)sCA35V*a~Fpxm$G<+k)`GS{3Pp|#>#eYdUSWMsR5g#|t zo_N>{2~#c)4jqe(OBN+&Z>JCybVKvT1uv>a{;g0P=rp-2;0H zYvUh*xRcx;#QA%Qow56^nI1WdlJ^onISXF?h5}gGyw|R#X+6HwXKA=M=8={!A2wG+ zn66OST(9{F1sAG{gv-=ldksOwjn?JTQzUfu_r^hdB9SPByy{}0Dazam=a23uc5XZ4 z;E&MP7{L+uZhL4)i0+;6M+NFmv+jKF(+L7|pD%F>#a$SY0ym{UV9(VtgfPdBW|n{_ zMzxGF%;4lZq7%%!NL$2AdNT?U0&?qPGYLO&kyCv-{4B5g(etDS4_{I)z-tmHz`E&E z4hH*_Lk$EV{8bs_N#v}_($~X*Xpxz|#D;1Yz73+bCR4p@i;6&C=ZhcS!lN=RO{vIQn>OK2MZV)fdQybNF(5!Ef7P&&ZZ~!IN{E0qO=OP&nq-nkTv6 z&(ZC8vpb-vs`twFe~^v5|0mf9btk^lq?v`(TVx5$ML%_gMOhRHFb#C@jjx2a6O$>E z&pvZw4)dPw;%dBwozftODq3sE14{yDrUna1$=p_?jiRy%zv+*##a*Wr5&Zp90(X(t z28aZya6pFYPDB{7gnq#ba^h22384WV%_$QqXOk9)M*XfBM~08T0W2SK-a-OC2PAoI zs=Z8MNwo3M08e`>6fS3t1E95xz_Zr~K+_Lz8X3*h-5@AyE0#pxz>LrYk7*hSp1qcV zsasNzqkyK(sqG`O$55CQmT0I1q%JC9iBV`$@Od!Hvj3xrk^xXFyOzo&rF~lQ) zkMVNqc*bx0L~>87Xv0(`By5msh}~nP++8UMBS3QrN>Q26 zAm{09Qo#bYwLns0Z5;ts%If(NU~3Y!DTL`e-4A7hRi9mgGO0IRS=Df)x`2prQ}Yps zpFgWc5+v*PN|G$NntohrF_fkNT7z=gZ=q@*S7HSq9_Zq##Ejq^@ZUZms!%S~)X$;Z zx6}k`kM)kBWYD@LKtmrhqDIL>ek8btQ-SSMGS0uJWIhyRKq%T>OOVd_{rMAsv$keL zD8zw^^GnGf?W-YhLofhn!Xgtet5{{^$?^miKwiik1Y(4ypC&F4WbE9X1Vj2=+$ThW zj0*ZY5F4iF@?2%yNg-zpi^9keNakclBO#dsVn6s3L&R8oM-7D6YBUZ|$6^k#C&>3J?3s5iH)BCtQS`z)l zZY@UB$lgkC;;4%y_p~`oCHaQ;&JZsouy(Wp5i%)4D!5zZ=)k89BCVT}^8=5CQMWC` zG%(5{V^Y8CwyOsX5{<=i4JU-ujeS>=26;)%tRny+r@{&9h;W~!z}p8@Lk$nJ?SoaP zT*1s13Zvns2)9cB)L8u2EMW%Zzhq)z2G`sg@fn}m)97mlM3Ryr=fyt5#pP(PIa{ZL z+JRmh%-CdL=lF*`u;wK9DipKRn=5!Vkbsum*bMHsoa8^8eWcDn5 zU1S7)ZC+42Bwv*Ubz8wI5-@X3Vb#X0&v2_7&PZoI$o4n)ssJqf6hkn_OyLa~Il-7m zj@<(hkBeN`b%5-JlvuC|d;S?KWPHIir+ zP>O?3ha#3S=?T7;2}iD2>JPc%X#*UJ2Y_`u$1SPmq|F3E0>0Cdfp`wT9R=@A(ePanZ5T&6Iq!vU1ALi|7& zyx|}yQvlGhO7Wke((GI0yx^3*hg~6QqX4Ql{WW?xcn6?d;R3lB&>+Y@P_Yx_vN3^< z5|*0M(7?Fq}sDLt*y*R1y} zTtxN-u&pUGMpyJX_65eKRBCUO1$YG_F7+mnJoRG6D(j>$@D`PSMbg@y%io#T>piXa z)C=bmkIQr{4)JMT5fP)+^-(}s)jNcu>(`FykQ3h`fJ9%cv5?7Dy1-PYeyJ8Cj0)}( z$x)zucSQ*6(KKQSmIuOH5kH;+7G_oM15%V`rg{OC+z1Q_w=z)62;H*w+rdhGKXU&4)8({+4A?)M{o6`} zQNf_knF*vsJ%pgpYFh+#2@FgnB>kaUjL~j_^{1-gp16Vmxw0v0#5NHj6*&&aa2{9; z5cXj?Uw;5Jhq^bRLBKjOw38T20|Fu+z$$Jut;-@aC_XqP+0}5 zjTUBbS*J1-T)HI@G)ZTrqHiNuZJ+=YZoFKf<$UY=VFnYXw*N;xe?qu|9hSaB&SDq? zl;%Ns7=a9RBDjmW)XoTJ5|mH~e<8)zFu1!F8N=nMSBG!pLym3|oc-h|%Lt0AA#u$g zp1v4Uvc7fv;q3*P_BvrlxTodP#-5Bj(+*R(@5a8&t;!z-2F1x!K><-gzM_-n)~KtU zr(MgVw;FFDw`&5*{iN8$usnnr%~yiEl#&r8k5T6LX#4~5w3U7w7GE{M zPAYl;YBTpAK{-`T-Jrq9j8=PY0a`_Oib>RSd{ozT$`_XF2dd;TwP^jb>&t*ck5vJO zI$d?N8ek05KQjRGZa)yEqMq~cMb;w}w#d{tV{^{{Gjt%w=`=~o`j-Y407qY%2O<;; zT>xHzo|=Bw*Q(3uLq&`VZ!P1&p%+6*|6VgfkPfv(2Gp0_EXH13gHXbx|7QKO@@0Tq zT9nA_MgDrxjMdFTO$NF~SlOLdfq?3VT{9kf3(@ueS7m9j=@f|Y`{JMoQ};KBSxzD} zAWuJJwDLDV28m&S&LqMTh^)^6@ElRGiR)q@;A@)z%CLBXP0D4CIeb3VUcxXVKrV&B~ z%093GGWlde251wgork|yNytcEAH@Rjuz~{=P=%_#uV5h=2-PHOW~4)M4A6TD z8=4@M*^6L64lw?ika?c7@F3tIKo?e}@+V&DYvFKKzb<~=$FOy<;zsuM-^hT{ z1kEW3s*ObjG5|^k>(WSc1$J3&wp4a*RXTIC7)}hl)6oRfYu;bbKLLU)sXm<)!%N{( zb9B-VH-Esr>p3Ze0Ods@8Pc&<=q~Y9Mk~uAA_Icyz;^pY?_Mn2l<~{LrV$XNDd>MZ z0i95^kV4BXfDSS=Kry@B(F=r^zhh*4$~OD~>Kv2v1_p-!x~r%9a!K7O@Qdv*C`mrr z18TA{4u+ey?>50bt;md0JBJyY#ca{=oJzvZKcEHg-H}=jx{m5!L02rlm{i4-PvQM_ zKd!9h_XJlN_vGYKFI}s?_GtF`6R6CN0Bu$M9?u8ygNWl@4{ahbNFw%ONpA<9sS@o| zeOQJ`2dr5lfAc;NK~{^1Ab^y5kawlf@fee>NmeOK`G2FYbT%aD~c~y>VRW#r@qMd8f@) z8{NiLPMs%BZdde_)>bPopDldo)e8@C^%72y;9%2BnfJTVVq9?{>J{&GJL~OnT*>y& z--2JTs9N&Ez$2;3KcC-Xlv3hagX1CEaK`}Izrx}N%~fhF#;3hxBcK2dDh7=}D=SiH zjxl{z#lAK8+^1Ma&;aXE1Za@_o)D=i-(0_&xZi`0i(_WeX#lC6-tH96g2U{ z-F0_{*56>dkJ3Pu4g^6%tkHU-Ef7uV1F$q=cNHVhEd0<)WDr(OJ*a9p<0MBQQU3VH zAy6cw*lskx{isDym)1$Rz!#vGnqlE8SGiT-2bP-7pb?9_@%$l_xD+6>%g8~e;8YSx z*+dT;Wb8)9z_Ku)3d;4eJYw^|O$DG8hTt%0h*2IK2UPAB&Jk_TbXDf0&pj4&5jAw8c;`=ky=L6 z>={l$@Dm5RE0|I397Ldw(2#?aW|fppAY3Tqy7S1D4o6tj@cT>74|jm)d>S9G* zve^{C9EhaTZ4~N;!de)pEvRbG@t~VCkih=u1`M}NEjwl)W2Z29EW(5#4HAQD4s^0_ z!L1Qcz%%c@{n*S1-EnJ0Kz#uM!3a7)tl*}JOc6O)f~1E~i(W_msu+ZN!_yBme~g2* zM54rtT(3}M2TKTrc!;^ZVg_mxphC0PtY>=lul^$!|Mt$kaG+{7YS$8(tQihyNR|?( zU>|vOLId5!s#XgAk$Z;vc8<4cCH)929WhsAP&L3`BWKWP+Zct{%Gtv_?;8Zdg{^S( zGKGF(=J5F|yn~S$Su#uxI%6PoI9ukodIIwiJ2#*kkd|;4Vd=-t8X7m1h|{?`w>tZmO@ezFF3AY)-G-Op#cSs8x3dy zRloaqLgTUD25#^jd6K4v{Be-q7hrOH8MML~%(Wk|WajerbbO8Q_n90LU0>ZpNbmgy zuCG*G448la3Cth{yDnG@^(t&`sR!o2##~VR>dK`G9(qut&IoCTB0>SML;dRdQ9~5y ztCGvX)QD-)Y{W*!WIKG84BQfl43g5CFXcyqezklN=*r@(5sRQm@>anu-o{NiGNe$s z&ledcl70ZunJVB$o8)$2fGT**>MCecK}CwjAh>zvJNauF{z-flXl;mep@t*?YBh<@ z00bzHTp4>TRg8$BvidTe0cxFCGGY8fH*Gg;VFHg;yBiQYO8``i244~V+nNV`l6t7_ zoIi$W)6D`b8clFF5%iY}*{C778;Jue5!?6GLi`S<~v^yr+7N#)C~3mb4T3E>CBo4AHCfO-+L2X#Az|)U!X}=gFJm5?wXcyI=cK zsvAlqfcq1{p+^x>z5CfXae%yJy!Vy(lNhI;9_sIcwg^H8+{F_dey0BUewpn} z`Vn=K9Cg?CFOxo}73gP*LbE?D?;)!YpK|E-)J0vF4$H2YW8TBUUNd!|MZ+-?{ zXTHdn#pqefEOd9sL6_;XIKOzcds^!8EO9+KbsQFyB?4_ns_H%SU+jy2{SVGfnUhwl z^B`Jq?(ToK0z9i)bd*CETybIZmS|XLh3S|9^7Xj4<~swckQ}EUBq6q z#{$J>9<}_NN?^(my{!}@&uM=3t@w{#DVIjZ(f+SFW)Z2bpO@B?drZ}s>&Twm*Q+tv z?8GxsBRiH=#@AuNXFW?^cE-RTvuHyim6Lahc=2^?QHfwEF_S@4GJeH<#=lZIPE$ z)AG4i6EBslhB!Xbk#OF+vgI*#^4qLMD)V#4IDd=2Zd?hz*&UDV+#Gs(!7SbN)NA)9 z`}!O7CCFbDrKY%MoiYUlP9cI@f(2C-J>IYqE)-|xU&?xF^*L5)$AmlQlhI1zd}6vy zPRDYi>ukSmF?Y1gQDCERnd7&Ym~Azre4mYjQ& zN+iGU*C)EJYLh`<{+1_fo=@kam3M;OC4atPquA&Am08neEPG-6G*9kr|Tt(75uYs&OqO}xlD zE4H15Tg2NFqYvQ6`S6tZb&^+B$$q(K8k4>{HU_i^2U?o6LXQfC> zs}g$yIFr^G#*ceHp5gEvzh7iaen0SnldZO&=5gPh3+B{irwpHbkJQb(hYJJZcWV=F z^e9O9%KzREbmO@Dbk}XA{=M`U`>pLRpK@nXw~NEy$@BveAYwhA4KxL^&On( zm4%<`Ce%ppo-F9U7Ly;c{G)sL>hN$Z&QY@eR5$&wNuZ{o@Z_<#-z!b^?z&9EMP4~|Hq{1L;c@Onmm*L z&rO<=IfHw@|21i5U`(2W$9u7LhjbgHy*8OuZd^%$rLMr%qgCrc*4-f2T1~XLP{oj2 z#}QCoz5gI1SJ$>+&^p(-nu1&}uV>Bu!<35gg?Z;(PN};3+T$rlYon7V+Wl43KH4=~ zFZd`6c8}(ge>7k%?#m#9E(cz37}L1VK~XZ&x9Z*>7B*QpN8Qt+zT4e1`Tp2B`pB7O z<`=zEPDe{cg1~c}hho;HJ3I&40+DR4BvH!phZn%8zBWtJbt({*o zaCIuVwMd9%y%X0`_{reSz74}?6Gf5pVYkLNm%hm1u(tLvwwB)L%Y9xj5xMh;HqU+A z;dO)9X(o#KMd>Xatz}PPD)PvXvAK${>3+gLrAxXBt;x*4vR$9`m~FOgNDQCOc4oQe z?21jY8xdEGXH=0I<`x9f-k7pn5utWEFjdIguNl>h>bhFyR(G}({HG%OMx-(We_&31 zU&`#YnuhJWR*vC6%Mw{gq7yr6_$iW=40QeTOLufw+fLFJoZP0-H!20*Mo$V0Sl?yE zd7e4&nZaQ$+78vX`aU;d>ks~1uhYg+Nt3bNUD?e9nJ;{sF^Zl%cQ%#q1`Cg>=|>;E ztc)l_#Jg&b6}+&|y$`3+VXDoq%5qi!K`{E=Bx4}S;o`seCkY(Zxg>6eoBjTjJ?edxW4}7h(pr!`X@Q)HJjP)U6Cj2?Ao$=QB@kO%5h%(Ya>DEp;j(a-KS40 zG7Ix2`yZDbINcUQ+xfnTSaX*bIe)xf4(~XOF2{S9Ik*w~eSP3STtK(9m10B0D|z~8 zyW;uaud+n8p@wC>ok^b;^g+XPLBII3)G|xQ*tkO(H66FtYM7iIhTNi4797RjN|efn z`7;Qh8n|w}D>$qj{&3VodEIC?`PNP_X%of1^6rl=WZm##*z~K3j&Fo(&m)UwIi~mh z`i93}j7db>w=^wGKTZ3Szkhz?tGl9~BlmOxHSbKe(A42)c)eL zCBgJr#&L9PzwdKRcQc#$)^DlXrB_N?Qr&gLMYMw+9B}F#M$6=V>CJh__s!Ae5i)Cu zdm^pot5J@@dTG7BIEU<})ZG~RSoJL3YR3sVqPq<48e%ER2eJ9fPd*@VR@VsiUgw#( za3%73Og+CwMV*}7@qVn(R^s)AI(1RilHKG74aRW~rpcT=zJPnBbm;XrHH+4&<6N%V zr?xR)M%|~XKgd{#{aE!J?I63}|B;5XwoV4VpO`C^&hS+te5Zpq-0>>fb0pjG7HfkJ zlLaoSTh?9Y+Rn*pb_mu*#U6~&Ddj>>7&e0H#rmL_(TPrV}^zvnkw{N#zr z^*5{s|Cl+Avq}?s3)OTu2Jh5t1pYTOr)t*Ec=hPd9HjUWF^*w*M#gl^Yn0Qb*ZPEI zerB?+QEIle3(GVGP_9uLls$Ih$@O*&!+1F(qFfq~iH zHW)8wTRXJIfuCO&0`(IfR{7E7I-=HjGC#5 zhq!$qFQ>2!p50SM7H3+X0Dg<%Tt$U)sBtwsnHI@_igG zQ>#c4;)@_Gl+~>8L>b=ZM;Vw8+`<_tzL)jJD&go^Jfh29Go@=sCw8g!xHD# zuUOOxXGcemC~3{CkrTc4>a=!qz2U6M?#bf&9nH2D1?fV8*i$PsAF$uJgC)dbeXsH7QZx z!wn7uoOtNGaf2{Zj|HY4TM9Gv*iyj83&%`7#ZAoAgAHctz5h=AB_@oG_W@?=af2Wm zFZ}P+Uo!k_4y^_S+r)c+fvrgsI&rH{WSnnQbh zE76b*0Q2nslxaSA*#9RVc+4O3WPMXFKK`Qq!LK)VrwQPJddPgNAK}sn`~Z;o7(6|X z2Ogcrn2)>vnvc8xnvW5G&BqP2n5fYh^D%g=A4I+Q*L>Wd^Ec{lU_QpR2T|)=K~bY2 z^Km!EeC#U(Mcps~Mg5=fz*G5D4M|(qB)%r0mVmA7x_urnsZES4P-t=oe#sK=y zaRsls116L<^-2sQAV2K0Zf<2@N~<0vw+5SLePBL=?6AO*HYxK6nA%u}7HgdVK#(qI94K9I?V)t>tpw@vZ+Kunczr9| z3D252(enS8EQ<6uEf+&L(ULC)3jbP1c-O0e3&K>wimki=92@ewfY{l;A*X9PK2z%pW^71BhMd#r-Pnsu9eCZXuY7+pZD zIi}zPcM|+X{&$%zzCwB1`VF-04`^?Ir9zj?4E!appZ*&ju(KqRbhG5&<7DfW21ke7 zEWj(m|NnKbNH}Z}yKlevCnp*oTt&#w^8bfRO+(V{pGFfhay(bzLBmzK@T=t5LZc>O zq96x2=dTcNd8`Wh{qvs#Wd7$r2k4`F71NesI_|X0JV items = new ArrayList<>(); } diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandRunService.java b/backend-java/src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandRunService.java index 93da7b3..d63acc1 100644 --- a/backend-java/src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandRunService.java +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandRunService.java @@ -33,6 +33,7 @@ import com.nanri.aiimage.modules.task.mapper.FileTaskMapper; import com.nanri.aiimage.modules.task.model.entity.FileResultEntity; import com.nanri.aiimage.modules.task.model.entity.FileTaskEntity; import com.nanri.aiimage.modules.ziniao.model.vo.ZiniaoShopMatchResultVo; +import com.nanri.aiimage.modules.ziniao.service.ZiniaoShopIndexService; import com.nanri.aiimage.modules.ziniao.service.ZiniaoShopSwitchService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -125,14 +126,14 @@ public class DeleteBrandRunService { ZiniaoShopMatchResultVo matchResult = normalizedShopName.isBlank() ? ziniaoShopSwitchService.emptyMatchResult() : storeMatchByShopName.computeIfAbsent(normalizedShopName, - ignored -> ziniaoShopSwitchService.matchStoreByNameAcrossStaff(item.getShopName(), null)); + ignored -> ziniaoShopSwitchService.findIndexedStoreByName(item.getShopName())); + item.setMatchStatus(matchResult.getMatchStatus()); + item.setMatchMessage(matchResult.getMatchMessage()); item.setMatched(matchResult.isMatched()); if (matchResult.isMatched()) { item.setShopId(matchResult.getShopId()); item.setPlatform(matchResult.getPlatform()); item.setOpenStoreUrl(matchResult.getOpenStoreUrl()); - } else { - throw new BusinessException("未匹配到紫鸟店铺,跳过处理"); } } catch (BusinessException ex) { String message = ex.getMessage(); @@ -155,10 +156,12 @@ public class DeleteBrandRunService { cacheDto.setPreviewRows(parsed.previewRows()); parsedPayloadByFileIdentity.put(fileIdentity, cacheDto); processableFileCount++; + parsedSuccessCount++; + } else { + parsedFailedCount++; } item.setSuccess(true); - parsedSuccessCount++; FileResultEntity resultEntity = new FileResultEntity(); resultEntity.setTaskId(task.getId()); @@ -195,7 +198,7 @@ public class DeleteBrandRunService { items.add(item); } - task.setSuccessFileCount(0); + task.setSuccessFileCount(parsedSuccessCount); task.setFailedFileCount(parsedFailedCount); task.setResultJson(JSONUtil.toJsonStr(items)); task.setUpdatedAt(LocalDateTime.now()); @@ -278,9 +281,13 @@ public class DeleteBrandRunService { } if (entity.getSourceFilename().equals(candidate.getSourceFilename())) { item.setMatched(candidate.isMatched()); + item.setMatchStatus(candidate.getMatchStatus()); + item.setMatchMessage(candidate.getMatchMessage()); // 如果物理结果已经是成功了,说明已经处理过了,强制置为匹配成功 if (item.isSuccess()) { item.setMatched(true); + item.setMatchStatus("MATCHED"); + item.setMatchMessage(null); } item.setShopId(candidate.getShopId()); @@ -535,6 +542,7 @@ public class DeleteBrandRunService { } private DeleteBrandTaskDetailVo buildTaskDetail(FileTaskEntity task, java.util.Map progress) { + task = refreshIndexedMatchesIfNeeded(task); DeleteBrandTaskItemVo taskVo = new DeleteBrandTaskItemVo(); taskVo.setId(task.getId()); taskVo.setTaskNo(task.getTaskNo()); @@ -560,9 +568,129 @@ public class DeleteBrandRunService { DeleteBrandTaskDetailVo detail = new DeleteBrandTaskDetailVo(); detail.setTask(taskVo); detail.setLine_progress(progressVo); + detail.setItems(resolveTaskResultItems(task)); return detail; } + private List resolveTaskResultItems(FileTaskEntity task) { + if (task == null || task.getResultJson() == null || task.getResultJson().isBlank()) { + return List.of(); + } + try { + List items = objectMapper.readValue(task.getResultJson(), new TypeReference>() { + }); + if (items == null || items.isEmpty()) { + return List.of(); + } + return items.stream().peek(item -> { + if (item == null) { + return; + } + item.setTaskId(task.getId()); + item.setTaskStatus(task.getStatus()); + if ("SUCCESS".equals(task.getStatus()) && item.isSuccess()) { + item.setMatched(true); + item.setMatchStatus(ZiniaoShopIndexService.MATCH_STATUS_MATCHED); + item.setMatchMessage(null); + } + }).toList(); + } catch (Exception ignored) { + return List.of(); + } + } + + private FileTaskEntity refreshIndexedMatchesIfNeeded(FileTaskEntity task) { + if (task == null || task.getResultJson() == null || task.getResultJson().isBlank()) { + return task; + } + if (!"RUNNING".equals(task.getStatus()) && !"FAILED".equals(task.getStatus())) { + return task; + } + try { + List items = objectMapper.readValue(task.getResultJson(), new TypeReference>() { + }); + if (items == null || items.isEmpty()) { + return task; + } + boolean changed = false; + int matchedCount = 0; + int unmatchedCount = 0; + for (DeleteBrandResultItemVo item : items) { + if (item == null) { + continue; + } + String currentMatchStatus = item.getMatchStatus(); + if (currentMatchStatus == null || ZiniaoShopIndexService.MATCH_STATUS_MATCHED.equals(currentMatchStatus)) { + if (item.isMatched()) { + matchedCount++; + } else { + unmatchedCount++; + } + continue; + } + if (!ZiniaoShopIndexService.MATCH_STATUS_PENDING.equals(currentMatchStatus) + && !ZiniaoShopIndexService.MATCH_STATUS_STALE.equals(currentMatchStatus)) { + unmatchedCount++; + continue; + } + String normalizedShopName = ziniaoShopSwitchService.normalizeShopName(item.getShopName()); + if (normalizedShopName.isBlank()) { + unmatchedCount++; + continue; + } + ZiniaoShopMatchResultVo refreshed = ziniaoShopSwitchService.findIndexedStoreByName(item.getShopName()); + if (refreshed != null) { + String oldStatus = item.getMatchStatus(); + boolean oldMatched = item.isMatched(); + String oldShopId = item.getShopId(); + String oldPlatform = item.getPlatform(); + String oldOpenStoreUrl = item.getOpenStoreUrl(); + String oldMessage = item.getMatchMessage(); + + item.setMatched(refreshed.isMatched()); + item.setMatchStatus(refreshed.getMatchStatus()); + item.setMatchMessage(refreshed.getMatchMessage()); + item.setShopId(refreshed.getShopId()); + item.setPlatform(refreshed.getPlatform()); + item.setOpenStoreUrl(refreshed.getOpenStoreUrl()); + + if (!java.util.Objects.equals(oldStatus, item.getMatchStatus()) + || oldMatched != item.isMatched() + || !java.util.Objects.equals(oldShopId, item.getShopId()) + || !java.util.Objects.equals(oldPlatform, item.getPlatform()) + || !java.util.Objects.equals(oldOpenStoreUrl, item.getOpenStoreUrl()) + || !java.util.Objects.equals(oldMessage, item.getMatchMessage())) { + changed = true; + } + } + if (item.isMatched()) { + matchedCount++; + } else { + unmatchedCount++; + } + } + if (!changed) { + return task; + } + task.setResultJson(JSONUtil.toJsonStr(items)); + task.setSourceFileCount(matchedCount); + task.setFailedFileCount(unmatchedCount); + task.setUpdatedAt(LocalDateTime.now()); + if (matchedCount > 0 && "FAILED".equals(task.getStatus())) { + task.setStatus("RUNNING"); + task.setErrorMessage(null); + task.setFinishedAt(null); + } + fileTaskMapper.updateById(task); + if ("RUNNING".equals(task.getStatus())) { + deleteBrandTaskCacheService.saveTaskCache(task); + } + } catch (Exception ex) { + log.debug("refreshIndexedMatchesIfNeeded skipped for taskId={}, msg={}", task.getId(), ex.getMessage()); + } + return task; + } + private DeleteBrandLineProgressVo buildLineProgress(Long taskId) { return buildLineProgress(taskId, null); } @@ -926,7 +1054,9 @@ public class DeleteBrandRunService { item.setCountries(parsedFile.getCountries()); item.setPreviewRows(parsedFile.getPreviewRows()); item.setTruncated(false); - item.setSuccess(true); + item.setMatched(true); + item.setMatchStatus("MATCHED"); + item.setMatchMessage(null); finalItems.add(item); successCount++; } diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/shopkey/service/ShopKeyService.java b/backend-java/src/main/java/com/nanri/aiimage/modules/shopkey/service/ShopKeyService.java index 36ae1b6..8724bec 100644 --- a/backend-java/src/main/java/com/nanri/aiimage/modules/shopkey/service/ShopKeyService.java +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/shopkey/service/ShopKeyService.java @@ -8,7 +8,9 @@ import com.nanri.aiimage.modules.shopkey.model.dto.ShopKeyUpdateRequest; import com.nanri.aiimage.modules.shopkey.model.entity.ShopKeyEntity; import com.nanri.aiimage.modules.shopkey.model.vo.ShopKeyItemVo; import com.nanri.aiimage.modules.shopkey.model.vo.ShopKeyPageVo; +import com.nanri.aiimage.modules.ziniao.service.ZiniaoShopIndexService; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -16,9 +18,11 @@ import java.util.List; @Service @RequiredArgsConstructor +@Slf4j public class ShopKeyService { private final ShopKeyMapper shopKeyMapper; + private final ZiniaoShopIndexService ziniaoShopIndexService; public ShopKeyPageVo page(long page, long pageSize) { long safePage = Math.max(page, 1); @@ -46,6 +50,7 @@ public class ShopKeyService { entity.setZiniaoAccountName(ziniaoAccountName); entity.setZiniaoToken(ziniaoToken); shopKeyMapper.insert(entity); + triggerShopIndexRefresh(); return toItemVo(getById(entity.getId())); } @@ -57,6 +62,7 @@ public class ShopKeyService { entity.setZiniaoAccountName(ziniaoAccountName); entity.setZiniaoToken(ziniaoToken); shopKeyMapper.updateById(entity); + triggerShopIndexRefresh(); return toItemVo(getById(id)); } @@ -64,6 +70,7 @@ public class ShopKeyService { public void delete(Long id) { ShopKeyEntity entity = getById(id); shopKeyMapper.deleteById(entity.getId()); + triggerShopIndexRefresh(); } private ShopKeyEntity getById(Long id) { @@ -91,4 +98,12 @@ public class ShopKeyService { vo.setUpdatedAt(entity.getUpdatedAt()); return vo; } + + private void triggerShopIndexRefresh() { + try { + ziniaoShopIndexService.invalidateIndex(); + } catch (Exception ex) { + log.warn("[ziniao-index] refresh trigger failed after shop key change: {}", ex.getMessage()); + } + } } diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/controller/ZiniaoAuthController.java b/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/controller/ZiniaoAuthController.java index 5e0bd17..457c9e3 100644 --- a/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/controller/ZiniaoAuthController.java +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/controller/ZiniaoAuthController.java @@ -1,12 +1,14 @@ package com.nanri.aiimage.modules.ziniao.controller; import com.nanri.aiimage.common.api.ApiResponse; +import com.nanri.aiimage.modules.ziniao.model.cache.ZiniaoShopIndexRefreshCursorDto; import com.nanri.aiimage.modules.ziniao.model.dto.ZiniaoOpenShopRequest; import com.nanri.aiimage.modules.ziniao.model.vo.ZiniaoOpenShopVo; import com.nanri.aiimage.modules.ziniao.model.vo.ZiniaoSessionVo; import com.nanri.aiimage.modules.ziniao.model.vo.ZiniaoShopListVo; import com.nanri.aiimage.modules.ziniao.model.vo.ZiniaoStaffListVo; import com.nanri.aiimage.modules.ziniao.service.ZiniaoAuthService; +import com.nanri.aiimage.modules.ziniao.service.ZiniaoShopIndexService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; @@ -28,6 +30,7 @@ import org.springframework.web.bind.annotation.RestController; public class ZiniaoAuthController { private final ZiniaoAuthService ziniaoAuthService; + private final ZiniaoShopIndexService ziniaoShopIndexService; @GetMapping("/session") @Operation(summary = "获取紫鸟会话状态", description = "自动获取或复用 appToken,并返回 companyId、当前员工 userId、脱敏 token 和当前店铺信息。") @@ -47,6 +50,12 @@ public class ZiniaoAuthController { return ApiResponse.success(ziniaoAuthService.listStaff()); } + @GetMapping("/index-refresh") + @Operation(summary = "获取紫鸟店铺索引刷新状态", description = "返回后台定时刷新紫鸟店铺索引的最近一次执行状态、时间和无效 userId 样本。") + public ApiResponse getIndexRefreshStatus() { + return ApiResponse.success(ziniaoShopIndexService.getRefreshCursor()); + } + @GetMapping("/shops") @Operation(summary = "获取员工可见店铺列表", description = "先通过 API Key 获取 companyId,再按员工 userId 查询该员工有权限的店铺列表,并缓存到当前 session。") @ApiResponses({ diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/memory/service/ZiniaoMemoryStoreService.java b/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/memory/service/ZiniaoMemoryStoreService.java index 84c9f67..3eb4700 100644 --- a/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/memory/service/ZiniaoMemoryStoreService.java +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/memory/service/ZiniaoMemoryStoreService.java @@ -62,6 +62,24 @@ public class ZiniaoMemoryStoreService { return get(cacheType, cacheKey, type); } + public List listByType(String cacheType, Class valueType, int limit) { + String normalizedType = normalizeRequired(cacheType, "cacheType 不能为空"); + int safeLimit = Math.max(limit, 1); + List entities = ziniaoMemoryStoreMapper.selectList(new LambdaQueryWrapper() + .eq(ZiniaoMemoryStoreEntity::getCacheType, normalizedType) + .orderByAsc(ZiniaoMemoryStoreEntity::getCacheKey) + .last("LIMIT " + safeLimit)); + if (entities.isEmpty()) { + return List.of(); + } + LocalDateTime now = LocalDateTime.now(); + return entities.stream() + .filter(entity -> entity.getExpiresAt() != null && entity.getExpiresAt().isAfter(now)) + .map(entity -> deserialize(entity.getPayloadJson(), valueType)) + .filter(Objects::nonNull) + .toList(); + } + @Transactional public void put(String cacheType, String cacheKey, Object payload, Duration ttl) { String normalizedType = normalizeRequired(cacheType, "cacheType 不能为空"); @@ -103,6 +121,24 @@ public class ZiniaoMemoryStoreService { } } + @Transactional + public int deleteByType(String cacheType, int limit) { + String normalizedType = normalizeRequired(cacheType, "cacheType 不能为空"); + int safeLimit = Math.max(limit, 1); + List entities = ziniaoMemoryStoreMapper.selectList(new LambdaQueryWrapper() + .eq(ZiniaoMemoryStoreEntity::getCacheType, normalizedType) + .orderByAsc(ZiniaoMemoryStoreEntity::getCacheKey) + .last("LIMIT " + safeLimit)); + if (entities.isEmpty()) { + return 0; + } + int deleted = 0; + for (ZiniaoMemoryStoreEntity entity : entities) { + deleted += ziniaoMemoryStoreMapper.deleteById(entity.getId()); + } + return deleted; + } + @Transactional public int deleteExpired(int limit) { int safeLimit = Math.max(limit, 1); @@ -129,6 +165,14 @@ public class ZiniaoMemoryStoreService { .last("LIMIT 1")); } + private T deserialize(String payloadJson, Class valueType) { + try { + return objectMapper.readValue(payloadJson, valueType); + } catch (Exception ex) { + throw new BusinessException("读取紫鸟记忆存储失败"); + } + } + private boolean isExpired(ZiniaoMemoryStoreEntity entity) { return entity.getExpiresAt() == null || !entity.getExpiresAt().isAfter(LocalDateTime.now()); } diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/model/cache/ZiniaoShopIndexEntryDto.java b/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/model/cache/ZiniaoShopIndexEntryDto.java new file mode 100644 index 0000000..6c5f0f0 --- /dev/null +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/model/cache/ZiniaoShopIndexEntryDto.java @@ -0,0 +1,24 @@ +package com.nanri.aiimage.modules.ziniao.model.cache; + +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Data +public class ZiniaoShopIndexEntryDto { + private String normalizedShopName; + private String shopId; + private String shopName; + private String platform; + private Long matchedUserId; + private Long companyId; + private String apiKeyHash; + private String status; + private String message; + private Integer candidateCount; + private List sampleShopIds = new ArrayList<>(); + private List sampleUserIds = new ArrayList<>(); + private Long lastSeenAt; + private Long lastRefreshedAt; +} diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/model/cache/ZiniaoShopIndexRefreshCursorDto.java b/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/model/cache/ZiniaoShopIndexRefreshCursorDto.java new file mode 100644 index 0000000..b3d07d0 --- /dev/null +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/model/cache/ZiniaoShopIndexRefreshCursorDto.java @@ -0,0 +1,18 @@ +package com.nanri.aiimage.modules.ziniao.model.cache; + +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Data +public class ZiniaoShopIndexRefreshCursorDto { + private String scopeKey; + private String status; + private String message; + private Long lastStartedAt; + private Long lastFinishedAt; + private Long lastSuccessAt; + private Integer invalidUserCount; + private List sampleInvalidUserIds = new ArrayList<>(); +} diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/model/vo/ZiniaoShopMatchResultVo.java b/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/model/vo/ZiniaoShopMatchResultVo.java index b88ca41..fb2568c 100644 --- a/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/model/vo/ZiniaoShopMatchResultVo.java +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/model/vo/ZiniaoShopMatchResultVo.java @@ -27,4 +27,10 @@ public class ZiniaoShopMatchResultVo { @Schema(description = "打开店铺链接") private String openStoreUrl; + + @Schema(description = "匹配状态: MATCHED / PENDING / CONFLICT") + private String matchStatus; + + @Schema(description = "匹配说明") + private String matchMessage; } diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/service/ZiniaoAuthService.java b/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/service/ZiniaoAuthService.java index 71f2694..2c8d6f8 100644 --- a/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/service/ZiniaoAuthService.java +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/service/ZiniaoAuthService.java @@ -112,6 +112,64 @@ public class ZiniaoAuthService { return new StoreMatchResult(false, null, null, null, null, null); } + public String buildOpenStoreUrlByScope(String apiKey, Long companyId, Long userId, String shopId) { + ensureEnabled(); + if (apiKey == null || apiKey.isBlank()) { + throw new BusinessException("紫鸟 apiKey 未配置"); + } + if (companyId == null || companyId <= 0) { + throw new BusinessException("紫鸟 companyId 不合法"); + } + if (userId == null || userId <= 0) { + throw new BusinessException("紫鸟 userId 不合法"); + } + if (shopId == null || shopId.isBlank()) { + throw new BusinessException("店铺不存在"); + } + String loginToken = ziniaoClient.getUserLoginToken(apiKey, companyId, userId); + return buildOpenStoreUrl(shopId, userId, loginToken); + } + + public Long resolveCompanyIdForIndex(String apiKey) { + return resolveCompanyId(apiKey); + } + + public List getOrLoadStaffForIndex(String apiKey, Long companyId) { + return getOrLoadStaff(apiKey, companyId); + } + + public List getOrLoadUserStoresForIndex(String apiKey, Long companyId, Long userId) { + return getOrLoadUserStores(apiKey, companyId, userId); + } + + public boolean isInvalidUserStoresError(BusinessException ex) { + String message = ex == null ? null : ex.getMessage(); + if (message == null || message.isBlank()) { + return false; + } + return message.contains("code=40004") + || message.contains("userId存在无效的参数值"); + } + + public void evictInvalidUserForIndex(String apiKey, Long companyId, Long userId) { + if (apiKey == null || apiKey.isBlank() || companyId == null || companyId <= 0 || userId == null || userId <= 0) { + return; + } + String staffCacheKey = buildApiKeyHash(apiKey) + ":" + companyId; + ziniaoMemoryStoreService.getList(CACHE_TYPE_STAFF_LIST, staffCacheKey, ZiniaoStaffItemVo.class) + .ifPresent(staff -> { + List filtered = staff.stream() + .filter(item -> item != null && !userId.equals(item.getUserId())) + .toList(); + if (filtered.isEmpty()) { + ziniaoMemoryStoreService.delete(CACHE_TYPE_STAFF_LIST, staffCacheKey); + } else { + ziniaoMemoryStoreService.put(CACHE_TYPE_STAFF_LIST, staffCacheKey, filtered, STAFF_LIST_CACHE_TTL); + } + }); + ziniaoMemoryStoreService.delete(CACHE_TYPE_USER_STORES, buildApiKeyHash(apiKey) + ":" + companyId + ":" + userId); + } + private boolean isSkippableUserStoresError(BusinessException ex) { String message = ex == null ? null : ex.getMessage(); if (message == null || message.isBlank()) { diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/service/ZiniaoShopIndexRefreshService.java b/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/service/ZiniaoShopIndexRefreshService.java new file mode 100644 index 0000000..8d3a90b --- /dev/null +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/service/ZiniaoShopIndexRefreshService.java @@ -0,0 +1,23 @@ +package com.nanri.aiimage.modules.ziniao.service; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Service; + +@Service +@RequiredArgsConstructor +@Slf4j +public class ZiniaoShopIndexRefreshService { + + private final ZiniaoShopIndexService ziniaoShopIndexService; + + @Scheduled(cron = "${aiimage.ziniao.shop-index-refresh-cron:0 */10 * * * *}") + public void refreshShopIndex() { + try { + ziniaoShopIndexService.refreshShopIndex(); + } catch (Exception ex) { + log.warn("[ziniao-index] refresh failed: {}", ex.getMessage()); + } + } +} diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/service/ZiniaoShopIndexService.java b/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/service/ZiniaoShopIndexService.java new file mode 100644 index 0000000..fabbf27 --- /dev/null +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/service/ZiniaoShopIndexService.java @@ -0,0 +1,414 @@ +package com.nanri.aiimage.modules.ziniao.service; + +import com.nanri.aiimage.common.exception.BusinessException; +import com.nanri.aiimage.config.ZiniaoProperties; +import com.nanri.aiimage.modules.ziniao.memory.service.ZiniaoMemoryStoreService; +import com.nanri.aiimage.modules.ziniao.model.cache.ZiniaoShopIndexEntryDto; +import com.nanri.aiimage.modules.ziniao.model.cache.ZiniaoShopIndexRefreshCursorDto; +import com.nanri.aiimage.modules.ziniao.model.cache.ZiniaoShopCacheDto; +import com.nanri.aiimage.modules.ziniao.model.vo.ZiniaoShopMatchResultVo; +import com.nanri.aiimage.modules.ziniao.model.vo.ZiniaoStaffItemVo; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.nio.charset.StandardCharsets; +import java.security.MessageDigest; +import java.time.Duration; +import java.time.Instant; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; + +@Service +@RequiredArgsConstructor +@Slf4j +public class ZiniaoShopIndexService { + + public static final String STATUS_ACTIVE = "ACTIVE"; + public static final String STATUS_STALE = "STALE"; + public static final String STATUS_CONFLICT = "CONFLICT"; + public static final String STATUS_PENDING = "PENDING"; + public static final String MATCH_STATUS_MATCHED = "MATCHED"; + public static final String MATCH_STATUS_PENDING = "PENDING"; + public static final String MATCH_STATUS_CONFLICT = "CONFLICT"; + public static final String MATCH_STATUS_STALE = "INDEX_STALE"; + + private static final String CACHE_TYPE_SHOP_INDEX_ENTRY = "SHOP_INDEX_ENTRY"; + private static final String CACHE_TYPE_SHOP_INDEX_SCOPE_SNAPSHOT = "SHOP_INDEX_SCOPE_SNAPSHOT"; + private static final String CACHE_TYPE_SHOP_INDEX_REFRESH_CURSOR = "SHOP_INDEX_REFRESH_CURSOR"; + private static final Duration DEFAULT_ENTRY_TTL = Duration.ofHours(12); + private static final Duration DEFAULT_CURSOR_TTL = Duration.ofHours(24); + private static final int DEFAULT_REFRESH_BATCH_SIZE = 100; + private static final int DEFAULT_LIST_BY_TYPE_LIMIT = 5000; + + private final ZiniaoMemoryStoreService ziniaoMemoryStoreService; + private final ZiniaoApiKeyProvider ziniaoApiKeyProvider; + private final ZiniaoAuthService ziniaoAuthService; + private final ZiniaoProperties ziniaoProperties; + + public ZiniaoShopIndexRefreshCursorDto getRefreshCursor() { + ZiniaoShopIndexRefreshCursorDto cursor = ziniaoMemoryStoreService + .get(CACHE_TYPE_SHOP_INDEX_REFRESH_CURSOR, "global", ZiniaoShopIndexRefreshCursorDto.class) + .orElse(null); + if (cursor == null) { + cursor = new ZiniaoShopIndexRefreshCursorDto(); + cursor.setScopeKey("global"); + cursor.setStatus("IDLE"); + cursor.setMessage("索引刷新任务尚未执行"); + } + return cursor; + } + + public ZiniaoShopMatchResultVo findIndexedStoreByName(String targetShopName) { + String normalizedShopName = normalizeShopName(targetShopName); + if (normalizedShopName.isBlank()) { + return pendingResult("店铺名为空,无法匹配索引"); + } + + ZiniaoShopIndexEntryDto entry = ziniaoMemoryStoreService + .get(CACHE_TYPE_SHOP_INDEX_ENTRY, normalizedShopName, ZiniaoShopIndexEntryDto.class) + .orElse(null); + if (entry == null) { + return pendingResult("店铺索引未命中,请等待后台刷新"); + } + if (STATUS_CONFLICT.equals(entry.getStatus())) { + return conflictResult(entry.getMessage() == null || entry.getMessage().isBlank() + ? "存在多个同名店铺,请人工确认" + : entry.getMessage()); + } + if (!STATUS_ACTIVE.equals(entry.getStatus())) { + return staleOrPendingResult(entry.getMessage() == null || entry.getMessage().isBlank() + ? "店铺索引暂不可用,请等待后台刷新" + : entry.getMessage(), entry); + } + if (entry.getShopId() == null || entry.getShopId().isBlank() || entry.getMatchedUserId() == null || entry.getMatchedUserId() <= 0) { + return pendingResult("店铺索引信息不完整,请等待后台刷新"); + } + + String apiKey = findApiKeyByHash(entry.getApiKeyHash()); + if (apiKey == null) { + return pendingResult("店铺索引所依赖的紫鸟 key 已失效,请等待后台刷新"); + } + + Long companyId = entry.getCompanyId(); + if (companyId == null || companyId <= 0) { + return pendingResult("店铺索引缺少 companyId,请等待后台刷新"); + } + + String openStoreUrl = ziniaoAuthService.buildOpenStoreUrlByScope(apiKey, companyId, entry.getMatchedUserId(), entry.getShopId()); + ZiniaoShopMatchResultVo vo = new ZiniaoShopMatchResultVo(); + vo.setMatched(true); + vo.setShopId(entry.getShopId()); + vo.setShopName(entry.getShopName()); + vo.setPlatform(entry.getPlatform()); + vo.setMatchedUserId(entry.getMatchedUserId()); + vo.setOpenStoreUrl(openStoreUrl); + vo.setMatchStatus(isFresh(entry) ? MATCH_STATUS_MATCHED : MATCH_STATUS_STALE); + vo.setMatchMessage(isFresh(entry) ? null : "店铺索引已过保鲜期,请等待后台刷新"); + return vo; + } + + public void refreshShopIndex() { + long now = Instant.now().toEpochMilli(); + ZiniaoShopIndexRefreshCursorDto cursor = new ZiniaoShopIndexRefreshCursorDto(); + cursor.setScopeKey("global"); + cursor.setStatus("RUNNING"); + cursor.setLastStartedAt(now); + ziniaoMemoryStoreService.put(CACHE_TYPE_SHOP_INDEX_REFRESH_CURSOR, "global", cursor, DEFAULT_CURSOR_TTL); + + Map> grouped = new LinkedHashMap<>(); + Set allInvalidUserIds = new LinkedHashSet<>(); + int refreshBatchSize = resolveRefreshBatchSize(); + try { + List apiKeys = ziniaoApiKeyProvider.listApiKeys(); + if (refreshBatchSize > 0 && apiKeys.size() > refreshBatchSize) { + apiKeys = apiKeys.subList(0, refreshBatchSize); + } + for (String apiKey : apiKeys) { + Long companyId; + try { + companyId = ziniaoAuthService.resolveCompanyIdForIndex(apiKey); + } catch (BusinessException ex) { + log.warn("[ziniao-index] skip apiKey while resolving companyId, msg={}", ex.getMessage()); + continue; + } + + Set invalidUserIds = new LinkedHashSet<>(); + List staff = ziniaoAuthService.getOrLoadStaffForIndex(apiKey, companyId); + for (Long userId : buildUserIds(staff)) { + if (invalidUserIds.contains(userId)) { + continue; + } + List stores; + try { + stores = ziniaoAuthService.getOrLoadUserStoresForIndex(apiKey, companyId, userId); + } catch (BusinessException ex) { + if (ziniaoAuthService.isInvalidUserStoresError(ex)) { + invalidUserIds.add(userId); + allInvalidUserIds.add(userId); + ziniaoAuthService.evictInvalidUserForIndex(apiKey, companyId, userId); + } + log.warn("[ziniao-index] skip user stores, companyId={}, userId={}, msg={}", companyId, userId, ex.getMessage()); + continue; + } + ziniaoMemoryStoreService.put( + CACHE_TYPE_SHOP_INDEX_SCOPE_SNAPSHOT, + buildScopeSnapshotKey(apiKey, companyId, userId), + stores, + resolveEntryTtl() + ); + for (ZiniaoShopCacheDto store : stores) { + String normalizedShopName = normalizeShopName(store == null ? null : store.getShopName()); + if (normalizedShopName.isBlank()) { + continue; + } + ZiniaoShopIndexEntryDto entry = new ZiniaoShopIndexEntryDto(); + entry.setNormalizedShopName(normalizedShopName); + entry.setShopId(store.getShopId()); + entry.setShopName(store.getShopName()); + entry.setPlatform(store.getPlatform()); + entry.setMatchedUserId(userId); + entry.setCompanyId(companyId); + entry.setApiKeyHash(buildApiKeyHash(apiKey)); + entry.setStatus(STATUS_ACTIVE); + entry.setLastSeenAt(now); + entry.setLastRefreshedAt(now); + List candidates = grouped.computeIfAbsent(normalizedShopName, ignored -> new ArrayList<>()); + if (candidates.stream().noneMatch(existing -> sameCandidate(existing, entry))) { + candidates.add(entry); + } + } + } + if (!invalidUserIds.isEmpty()) { + for (Long invalidUserId : invalidUserIds) { + ziniaoMemoryStoreService.delete( + CACHE_TYPE_SHOP_INDEX_SCOPE_SNAPSHOT, + buildScopeSnapshotKey(apiKey, companyId, invalidUserId) + ); + } + } + } + + for (Map.Entry> groupedEntry : grouped.entrySet()) { + String normalizedShopName = groupedEntry.getKey(); + List candidates = groupedEntry.getValue(); + ZiniaoShopIndexEntryDto entryToStore = candidates.get(0); + if (candidates.size() > 1) { + entryToStore = buildConflictEntry(normalizedShopName, candidates, now); + } + ziniaoMemoryStoreService.put(CACHE_TYPE_SHOP_INDEX_ENTRY, normalizedShopName, entryToStore, resolveEntryTtl()); + } + markMissingEntriesAsStale(grouped.keySet(), now); + + cursor.setStatus("SUCCESS"); + cursor.setMessage(allInvalidUserIds.isEmpty() + ? null + : "本轮刷新已跳过无效 userId 数: " + allInvalidUserIds.size()); + cursor.setInvalidUserCount(allInvalidUserIds.size()); + cursor.setSampleInvalidUserIds(allInvalidUserIds.stream().limit(20).toList()); + cursor.setLastFinishedAt(now); + cursor.setLastSuccessAt(now); + ziniaoMemoryStoreService.put(CACHE_TYPE_SHOP_INDEX_REFRESH_CURSOR, "global", cursor, DEFAULT_CURSOR_TTL); + } catch (Exception ex) { + cursor.setStatus("FAILED"); + cursor.setMessage(ex.getMessage()); + cursor.setLastFinishedAt(now); + ziniaoMemoryStoreService.put(CACHE_TYPE_SHOP_INDEX_REFRESH_CURSOR, "global", cursor, DEFAULT_CURSOR_TTL); + if (ex instanceof BusinessException businessException) { + throw businessException; + } + throw new BusinessException("刷新紫鸟店铺索引失败"); + } + } + + public void invalidateIndex() { + ziniaoMemoryStoreService.delete(CACHE_TYPE_SHOP_INDEX_REFRESH_CURSOR, "global"); + } + + public String normalizeShopName(String value) { + if (value == null) { + return ""; + } + return value.replace("\u3000", " ").trim(); + } + + private ZiniaoShopMatchResultVo pendingResult(String message) { + ZiniaoShopMatchResultVo vo = new ZiniaoShopMatchResultVo(); + vo.setMatched(false); + vo.setMatchStatus(MATCH_STATUS_PENDING); + vo.setMatchMessage(message); + return vo; + } + + private ZiniaoShopMatchResultVo conflictResult(String message) { + ZiniaoShopMatchResultVo vo = new ZiniaoShopMatchResultVo(); + vo.setMatched(false); + vo.setMatchStatus(MATCH_STATUS_CONFLICT); + vo.setMatchMessage(message); + return vo; + } + + private ZiniaoShopIndexEntryDto buildConflictEntry(String normalizedShopName, List candidates, long now) { + ZiniaoShopIndexEntryDto representative = candidates == null || candidates.isEmpty() ? null : candidates.get(0); + ZiniaoShopIndexEntryDto entry = new ZiniaoShopIndexEntryDto(); + entry.setNormalizedShopName(normalizedShopName); + entry.setStatus(STATUS_CONFLICT); + entry.setShopName(representative == null ? normalizedShopName : representative.getShopName()); + entry.setCompanyId(representative == null ? null : representative.getCompanyId()); + entry.setApiKeyHash(representative == null ? null : representative.getApiKeyHash()); + entry.setCandidateCount(candidates == null ? 0 : candidates.size()); + entry.setMessage("存在多个同名店铺,请人工确认(候选数: " + entry.getCandidateCount() + ")"); + entry.setLastSeenAt(now); + entry.setLastRefreshedAt(now); + if (candidates != null) { + for (ZiniaoShopIndexEntryDto candidate : candidates) { + if (candidate == null) { + continue; + } + if (candidate.getShopId() != null && !candidate.getShopId().isBlank() && !entry.getSampleShopIds().contains(candidate.getShopId())) { + entry.getSampleShopIds().add(candidate.getShopId()); + } + if (candidate.getMatchedUserId() != null && candidate.getMatchedUserId() > 0 && !entry.getSampleUserIds().contains(candidate.getMatchedUserId())) { + entry.getSampleUserIds().add(candidate.getMatchedUserId()); + } + } + } + return entry; + } + + private ZiniaoShopMatchResultVo staleOrPendingResult(String defaultMessage, ZiniaoShopIndexEntryDto entry) { + if (entry != null && STATUS_STALE.equals(entry.getStatus())) { + ZiniaoShopMatchResultVo vo = new ZiniaoShopMatchResultVo(); + vo.setMatched(false); + vo.setMatchStatus(MATCH_STATUS_STALE); + vo.setMatchMessage(defaultMessage); + return vo; + } + return pendingResult(defaultMessage); + } + + private void markMissingEntriesAsStale(Set activeNames, long now) { + List existingEntries = ziniaoMemoryStoreService.listByType( + CACHE_TYPE_SHOP_INDEX_ENTRY, + ZiniaoShopIndexEntryDto.class, + DEFAULT_LIST_BY_TYPE_LIMIT + ); + if (existingEntries.isEmpty()) { + return; + } + for (ZiniaoShopIndexEntryDto existingEntry : existingEntries) { + if (existingEntry == null || existingEntry.getNormalizedShopName() == null || existingEntry.getNormalizedShopName().isBlank()) { + continue; + } + if (activeNames.contains(existingEntry.getNormalizedShopName())) { + continue; + } + if (STATUS_CONFLICT.equals(existingEntry.getStatus()) + && (existingEntry.getCandidateCount() == null || existingEntry.getCandidateCount() <= 0) + && (existingEntry.getShopName() == null || existingEntry.getShopName().isBlank()) + && (existingEntry.getApiKeyHash() == null || existingEntry.getApiKeyHash().isBlank()) + && (existingEntry.getCompanyId() == null || existingEntry.getCompanyId() <= 0)) { + ziniaoMemoryStoreService.delete(CACHE_TYPE_SHOP_INDEX_ENTRY, existingEntry.getNormalizedShopName()); + continue; + } + existingEntry.setStatus(STATUS_STALE); + existingEntry.setMessage("店铺索引已过期,请等待后台刷新"); + existingEntry.setLastRefreshedAt(now); + ziniaoMemoryStoreService.put( + CACHE_TYPE_SHOP_INDEX_ENTRY, + existingEntry.getNormalizedShopName(), + existingEntry, + resolveEntryTtl() + ); + } + } + + private boolean isFresh(ZiniaoShopIndexEntryDto entry) { + if (entry == null || entry.getLastRefreshedAt() == null || entry.getLastRefreshedAt() <= 0) { + return false; + } + Integer freshMinutes = ziniaoProperties.getShopIndexFreshMinutes(); + if (freshMinutes == null || freshMinutes <= 0) { + return true; + } + long freshWindowMillis = Duration.ofMinutes(freshMinutes).toMillis(); + return Instant.now().toEpochMilli() - entry.getLastRefreshedAt() <= freshWindowMillis; + } + + private Duration resolveEntryTtl() { + Integer ttlHours = ziniaoProperties.getShopIndexEntryTtlHours(); + if (ttlHours == null || ttlHours <= 0) { + return DEFAULT_ENTRY_TTL; + } + return Duration.ofHours(ttlHours); + } + + private int resolveRefreshBatchSize() { + Integer batchSize = ziniaoProperties.getShopIndexRefreshBatchSize(); + if (batchSize == null || batchSize <= 0) { + return DEFAULT_REFRESH_BATCH_SIZE; + } + return batchSize; + } + + private List buildUserIds(List staff) { + List userIds = new ArrayList<>(); + for (ZiniaoStaffItemVo item : staff) { + if (item != null && item.getUserId() != null && item.getUserId() > 0 && !userIds.contains(item.getUserId())) { + userIds.add(item.getUserId()); + } + } + return userIds; + } + + private boolean sameCandidate(ZiniaoShopIndexEntryDto left, ZiniaoShopIndexEntryDto right) { + if (left == null || right == null) { + return false; + } + if (left.getShopId() != null && right.getShopId() != null) { + return Objects.equals(left.getShopId(), right.getShopId()) + && Objects.equals(left.getMatchedUserId(), right.getMatchedUserId()) + && Objects.equals(left.getCompanyId(), right.getCompanyId()) + && Objects.equals(left.getApiKeyHash(), right.getApiKeyHash()); + } + return Objects.equals(left.getShopName(), right.getShopName()) + && Objects.equals(left.getMatchedUserId(), right.getMatchedUserId()) + && Objects.equals(left.getCompanyId(), right.getCompanyId()) + && Objects.equals(left.getApiKeyHash(), right.getApiKeyHash()); + } + + private String buildScopeSnapshotKey(String apiKey, Long companyId, Long userId) { + return buildApiKeyHash(apiKey) + ":" + companyId + ":" + userId; + } + + private String findApiKeyByHash(String apiKeyHash) { + if (apiKeyHash == null || apiKeyHash.isBlank()) { + return null; + } + for (String apiKey : ziniaoApiKeyProvider.listApiKeys()) { + if (apiKeyHash.equals(buildApiKeyHash(apiKey))) { + return apiKey; + } + } + return null; + } + + private String buildApiKeyHash(String apiKey) { + try { + MessageDigest digest = MessageDigest.getInstance("SHA-256"); + byte[] hash = digest.digest(apiKey.getBytes(StandardCharsets.UTF_8)); + StringBuilder sb = new StringBuilder(); + for (byte b : hash) { + sb.append(String.format("%02x", b)); + } + return sb.toString(); + } catch (Exception ex) { + throw new BusinessException("生成紫鸟 apiKey 缓存键失败"); + } + } +} diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/service/ZiniaoShopSwitchService.java b/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/service/ZiniaoShopSwitchService.java index 3f9b6d6..a63fdb9 100644 --- a/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/service/ZiniaoShopSwitchService.java +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/ziniao/service/ZiniaoShopSwitchService.java @@ -10,6 +10,7 @@ import org.springframework.stereotype.Service; public class ZiniaoShopSwitchService { private final ZiniaoAuthService ziniaoAuthService; + private final ZiniaoShopIndexService ziniaoShopIndexService; public ZiniaoShopMatchResultVo matchStoreByNameAcrossStaff(String targetShopName, Long preferUserId) { String normalizedShopName = normalizeShopName(targetShopName); @@ -18,18 +19,27 @@ public class ZiniaoShopSwitchService { } ZiniaoAuthService.StoreMatchResult result = ziniaoAuthService.matchStoreByNameAcrossStaff(normalizedShopName, preferUserId); - return new ZiniaoShopMatchResultVo( - result.matched(), - result.shopId(), - result.shopName(), - result.platform(), - result.matchedUserId(), - result.openStoreUrl() - ); + ZiniaoShopMatchResultVo vo = new ZiniaoShopMatchResultVo(); + vo.setMatched(result.matched()); + vo.setShopId(result.shopId()); + vo.setShopName(result.shopName()); + vo.setPlatform(result.platform()); + vo.setMatchedUserId(result.matchedUserId()); + vo.setOpenStoreUrl(result.openStoreUrl()); + vo.setMatchStatus(result.matched() ? ZiniaoShopIndexService.MATCH_STATUS_MATCHED : ZiniaoShopIndexService.MATCH_STATUS_PENDING); + return vo; + } + + public ZiniaoShopMatchResultVo findIndexedStoreByName(String targetShopName) { + return ziniaoShopIndexService.findIndexedStoreByName(targetShopName); } public ZiniaoShopMatchResultVo emptyMatchResult() { - return new ZiniaoShopMatchResultVo(false, null, null, null, null, null); + ZiniaoShopMatchResultVo vo = new ZiniaoShopMatchResultVo(); + vo.setMatched(false); + vo.setMatchStatus(ZiniaoShopIndexService.MATCH_STATUS_PENDING); + vo.setMatchMessage("店铺名为空,无法匹配索引"); + return vo; } public String normalizeShopName(String value) { diff --git a/backend-java/src/main/resources/application.yml b/backend-java/src/main/resources/application.yml index 7ce15a9..858a1a9 100644 --- a/backend-java/src/main/resources/application.yml +++ b/backend-java/src/main/resources/application.yml @@ -108,5 +108,9 @@ aiimage: shops-cache-minutes: ${AIIMAGE_ZINIAO_SHOPS_CACHE_MINUTES:30} connect-timeout-seconds: ${AIIMAGE_ZINIAO_CONNECT_TIMEOUT_SECONDS:5} read-timeout-seconds: ${AIIMAGE_ZINIAO_READ_TIMEOUT_SECONDS:15} - key-scan-max-keys: ${AIIMAGE_ZINIAO_KEY_SCAN_MAX_KEYS:50} - key-scan-max-seconds: ${AIIMAGE_ZINIAO_KEY_SCAN_MAX_SECONDS:15} + key-scan-max-keys: ${AIIMAGE_ZINIAO_KEY_SCAN_MAX_KEYS:100} + key-scan-max-seconds: ${AIIMAGE_ZINIAO_KEY_SCAN_MAX_SECONDS:30} + shop-index-refresh-cron: ${AIIMAGE_ZINIAO_SHOP_INDEX_REFRESH_CRON:0 */10 * * * *} + shop-index-fresh-minutes: ${AIIMAGE_ZINIAO_SHOP_INDEX_FRESH_MINUTES:20} + shop-index-entry-ttl-hours: ${AIIMAGE_ZINIAO_SHOP_INDEX_ENTRY_TTL_HOURS:12} + shop-index-refresh-batch-size: ${AIIMAGE_ZINIAO_SHOP_INDEX_REFRESH_BATCH_SIZE:100} diff --git a/frontend-vue/src/pages/brand/components/BrandDeleteBrandTab.vue b/frontend-vue/src/pages/brand/components/BrandDeleteBrandTab.vue index 1519d57..535fea2 100644 --- a/frontend-vue/src/pages/brand/components/BrandDeleteBrandTab.vue +++ b/frontend-vue/src/pages/brand/components/BrandDeleteBrandTab.vue @@ -105,7 +105,7 @@
{{ item.sourceFilename || '-' }}
店铺名:{{ item.shopName || '-' }}
-
匹配结果:{{ item.matched ? `已匹配 ${item.shopId || ''}` : '未匹配到紫鸟店铺' }}
+
匹配结果:{{ formatMatchResult(item) }}
平台:{{ item.platform }}
队列状态:{{ getQueueStatus(item) }}
国家数:{{ item.countryCount @@ -158,7 +158,7 @@
{{ item.sourceFilename || '-' }}
店铺名:{{ item.shopName || '-' }}
-
匹配结果:{{ item.matched ? `已匹配 ${item.shopId || ''}` : '未匹配到紫鸟店铺' }}
+
匹配结果:{{ formatMatchResult(item) }}
平台:{{ item.platform }}
国家数:{{ item.countryCount }}
@@ -281,8 +281,7 @@ function loadSessionTasksFromStorage() { } function saveSessionTask(taskId: number, items: DeleteBrandResultItem[], pushResult?: string, payloadText?: string) { - // 只将解析成功且匹配成功的任务放入当前队列中,失败的将留在历史记录里 - const validItems = items.filter(i => i.matched !== false && i.success !== false) + const validItems = items.filter(i => i.matchStatus === 'MATCHED' && i.success !== false) if (validItems.length === 0) return const newTask: StoredCurrentTask = { @@ -326,6 +325,9 @@ function getTaskStatus(taskId?: number) { function getDisplayError(item: DeleteBrandResultItem) { if (item.error) return item.error + if (item.matchStatus && item.matchStatus !== 'MATCHED') { + return item.matchMessage || '' + } const taskId = item.taskId if (!taskId) return '' return taskDetails.value[taskId]?.task?.errorMessage || '' @@ -339,18 +341,37 @@ function shouldShowProgress(item: DeleteBrandResultItem) { function normalizeDeleteBrandItems(items: DeleteBrandResultItem[]) { return items.map((item) => { - // 只有在既没成功,又显式标记为未匹配时,才做错误兜底 - if (!item.success && item.matched === false) { - return { - ...item, - error: item.error || '未匹配到紫鸟店铺', - openStoreUrl: undefined, - } + if (item.matchStatus === 'MATCHED') { + return item + } + return { + ...item, + matched: false, + openStoreUrl: undefined, + error: item.error || undefined, } - return item }) } +function formatMatchResult(item: DeleteBrandResultItem) { + if (item.matchStatus === 'MATCHED') { + return `已匹配 ${item.shopId || ''}`.trim() + } + if (item.matchMessage) { + return item.matchMessage + } + if (item.matchStatus === 'CONFLICT') { + return '存在多个同名店铺,请人工确认' + } + if (item.matchStatus === 'PENDING' || item.matchStatus === 'INDEX_STALE') { + return '店铺索引暂未就绪' + } + if (item.matchStatus) { + return item.matchStatus + } + return item.matched ? `已匹配 ${item.shopId || ''}`.trim() : '待匹配' +} + function mergeVisibleItems() { resultItems.value = [...currentSectionItems.value, ...historySectionItems.value] } @@ -369,10 +390,6 @@ function updateSummary(items: DeleteBrandResultItem[]) { } } -function getItemTaskId(item: DeleteBrandResultItem) { - return item.taskId || 0 -} - function formatProgress(taskId: number) { if (!taskId) return '' const detail = taskDetails.value[taskId] @@ -410,11 +427,6 @@ function formatProgressPercent(taskId: number) { return status === 'SUCCESS' ? 100 : 0 } -function isTaskRunning(taskId: number) { - const status = taskDetails.value[taskId]?.task?.status - return status === 'RUNNING' -} - function isTaskTerminal(taskId: number) { const status = taskDetails.value[taskId]?.task?.status return status === 'SUCCESS' || status === 'FAILED' @@ -477,18 +489,58 @@ function canDownloadTaskResult(item: DeleteBrandResultItem) { return status === 'SUCCESS' } +function mergeTaskDetailItemsIntoSession(detail: DeleteBrandTaskDetailVo) { + const taskId = detail?.task?.id + if (!taskId || !detail?.items?.length) return false + const sessionTask = sessionTasks.value.find(t => t.taskId === taskId) + if (!sessionTask) return false + + let changed = false + const mergedItems = sessionTask.items.map((item) => { + const latest = detail.items?.find((candidate) => candidate.resultId === item.resultId || candidate.sourceFilename === item.sourceFilename) + if (!latest) return item + const merged = { + ...item, + ...latest, + success: item.success ?? latest.success, + } + if (JSON.stringify(merged) !== JSON.stringify(item)) { + changed = true + } + return merged + }) + + const validItems = mergedItems.filter(i => i.matchStatus === 'MATCHED' && i.success !== false) + if (JSON.stringify(validItems) !== JSON.stringify(sessionTask.items)) { + sessionTask.items = validItems + changed = true + } + + if (changed && typeof window !== 'undefined') { + window.localStorage.setItem(getStorageKey(), JSON.stringify(sessionTasks.value)) + } + return changed +} + async function refreshTaskDetails(taskIds?: number[]) { const ids = taskIds || getPollingTaskIds() if (!ids.length) return try { const batch = await getDeleteBrandTaskDetails(ids) + let changed = false for (const detail of batch.items || []) { const id = detail?.task?.id if (typeof id === 'number' && id > 0) { taskDetails.value[id] = detail + if (mergeTaskDetailItemsIntoSession(detail)) { + changed = true + } } } + if (changed) { + syncResultState() + } } catch { // ignore polling failures } @@ -649,7 +701,8 @@ async function submitRun() { })), }) const normalizedItems = normalizeDeleteBrandItems(result.items || []) - const hasUnmatched = normalizedItems.some((item) => !item.matched) + const hasMatchedItems = normalizedItems.some((item) => item.matchStatus === 'MATCHED') + const hasPendingItems = normalizedItems.some((item) => item.matchStatus && item.matchStatus !== 'MATCHED') queuePushResult.value = '解析完成,等待手动点击打开紫鸟进行单任务处理' queuePayloadText.value = '' @@ -659,10 +712,12 @@ async function submitRun() { } syncResultState() - if (hasUnmatched) { - ElMessage.error('存在未匹配到紫鸟店铺的文件,请检查报错内容。这些文件已自动归档至历史记录。') - } else { + if (hasPendingItems) { + ElMessage.warning('部分文件尚未命中可用店铺索引,已保留状态信息,请等待后台刷新后重试。') + } else if (hasMatchedItems) { ElMessage.success('删除品牌解析完成,请手动推送') + } else { + ElMessage.warning('当前没有可推送的已匹配文件,请先等待店铺索引刷新。') } // 更新历史记录,以展示那些未进入队列的失败项 @@ -783,10 +838,7 @@ function findNextAutoRunnableItem() { } async function runItem(item: DeleteBrandResultItem, options?: { auto?: boolean }) { - if (isPythonQueueBusy()) { - if (!options?.auto) { - ElMessage.warning('当前存在正在处理的任务,请等待其完成后再推送下一条!') - } + if (options?.auto && isPythonQueueBusy()) { return false } @@ -816,7 +868,7 @@ async function runItem(item: DeleteBrandResultItem, options?: { auto?: boolean } const pushResult = await api.enqueue_json(payload) let qpr = '' if (pushResult?.success) { - qpr = `已单独推送文件 ${item.sourceFilename},当前队列长度:${pushResult.queue_size ?? '-'}` + qpr = `已推送文件 ${item.sourceFilename},当前队列长度:${pushResult.queue_size ?? '-'}` const sessionItem = sessionTask.items.find(i => i.resultId === item.resultId || i.sourceFilename === item.sourceFilename) if (sessionItem) { @@ -874,10 +926,6 @@ async function triggerItemRun(item: DeleteBrandResultItem) { } } -function openShop(url: string) { - window.open(url, '_blank') -} - onMounted(() => { loadSessionTasksFromStorage() const taskIds = getPollingTaskIds() diff --git a/frontend-vue/src/shared/api/java-modules.ts b/frontend-vue/src/shared/api/java-modules.ts index 6e8fbd1..3f93ae2 100644 --- a/frontend-vue/src/shared/api/java-modules.ts +++ b/frontend-vue/src/shared/api/java-modules.ts @@ -211,12 +211,16 @@ export interface DeleteBrandTaskBatchVo { missingTaskIds: number[] } +export type DeleteBrandMatchStatus = 'MATCHED' | 'PENDING' | 'CONFLICT' | 'INDEX_STALE' + export interface DeleteBrandResultItem { resultId?: number fileKey?: string sourceFilename: string shopName?: string matched?: boolean + matchStatus?: DeleteBrandMatchStatus + matchMessage?: string shopId?: string platform?: string openStoreUrl?: string