[
https://issues.apache.org/jira/browse/LUCENE-9304?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17183559#comment-17183559
]
ASF subversion and git services commented on LUCENE-9304:
---------------------------------------------------------
Commit 098f0dc8b414ca9c9a47cf7ebf4383198fb946fe in lucene-solr's branch
refs/heads/master from Simon Willnauer
[ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=098f0dc ]
LUCENE-9478: Prevent DWPTDeleteQueue from referencing itself and leaking memory
(#1779)
In LUCENE-9304 we introduced some fixes that unfortunately hold on to the
previous
DWPTDeleteQueue which is essentially leaking IW memory and cause applications
to fail.
This fixes the memory leak and adds a test to ensure its not leaking memory.
> Clean up DWPTPool
> ------------------
>
> Key: LUCENE-9304
> URL: https://issues.apache.org/jira/browse/LUCENE-9304
> Project: Lucene - Core
> Issue Type: Improvement
> Affects Versions: master (9.0), 8.6
> Reporter: Simon Willnauer
> Assignee: Simon Willnauer
> Priority: Major
> Fix For: master (9.0), 8.6
>
> Time Spent: 11h 10m
> Remaining Estimate: 0h
>
> DWPTPool currently uses an indirection called ThreadState to hold DWPT
> instances. This class holds several information that belongs in other places,
> inherits from ReentrantLock and has a mutable nature. Instead we could pool
> the DWPT directly and remove other indirections inside DWPTFlushControl if
> we move some of the ThreadState properties to DWPT directly. The threadpool
> also has a problem that is grows it's ThreadStates to the number of
> concurrently indexing threads but never shrinks it if they are reduced. With
> pooling DWPT directly this limitation could be removed.
> In summary, this component has seen quite some refactoring and requires some
> cleanups and docs changes in order to stay the test of time.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]