cong yang created GROOVY-11271:
----------------------------------

             Summary: ConcurrentCommonCache causes memory leaks.
                 Key: GROOVY-11271
                 URL: https://issues.apache.org/jira/browse/GROOVY-11271
             Project: Groovy
          Issue Type: Bug
          Components: ast builder
    Affects Versions: 4.0.7
            Reporter: cong yang


ConcurrentCommonCache uses a read-write lock to wrap CommonCache into a 
thread-safe data structure. However, CommonCache uses the underlying 
LinkedHashMap, which causes conflicts when using the LRU algorithm because the 
LinkedHashMap.get method modifies the internal linked list. This conflicts with 
the read lock used by the get method in ConcurrentCommonCache when multiple 
threads access it. Due to multithreading conflicts, the maximum cache size of 
64 becomes ineffective, ultimately causing memory leaks. Additionally, we have 
already encountered memory leaks in our production environment.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to