1 comment (1 comment)0 reactions (0 reactions)0 assignees (0 assignees)Java8,150 forks (8,150 forks)batch import
area/integrationsgood first issuekind/bug
Repository metrics
- Stars
- 23,109 stars (23,109 stars)
- PR merge metrics
- No merged PRs in 30d (No merged PRs in 30d)
Description
我们在Controller使用了WebAsyncTask的异步返回方式,这种情况下,AbstractSentinelInterceptor中的prehandle会执行两次,rckey变成了2,但是afterCompletion只会执行一次(而且还是在另外一个线程请求的),导致clean的逻辑无法执行,这样entry和context在threadlocal中一直无法清除,最终oom
Contributor guide
- Research direction
- Investigate the lifecycle of AbstractSentinelInterceptor when handling async requests, specifically the mismatch between preHandle and afterCompletion calls for WebAsyncTask. Propose a fix to ensure proper cleanup of ThreadLocal variables.
- Tech stack
- javaspring
- Domain
- backend
- Issue type
- Bug
- Prerequisites
- JavaSpring MVCSentinel