Details
-
Bug
-
Resolution: Fixed
-
Low
-
7.1.6, 7.1.10, 7.3.8, 7.4.4, 7.5.1, 7.2.11
-
7.01
-
5
-
Severity 2 - Major
-
25
-
Description
Summary
Reopening IndexReader may lead to memory leak and causing additional pressure on JVM this may.
Error:
Error while resetting searcher: ISSUE message: this IndexReader is closed org.apache.lucene.store.AlreadyClosedException: this IndexReader is closed at org.apache.lucene.index.IndexReader.ensureOpen(IndexReader.java:263)
or this line is present it the logs
"Tried to reopen the IndexReader, but it threw AlreadyClosedException. Opening a fresh IndexReader."
Steps to Reproduce
This is not guaranteed to reproduce the bug.
- Run background reindex
- Do many search requests
Expected Results
Jira handles reopen of IndexReader gracefully.
Actual Results
After one of the above two errors happen Jira is opening another fresh copy of IndexReader from disk. This result in all Lucene memory caches being duplicated. In most cases those structures occupy several GB or RAM which results in either OutOfMemoryError or memory pressure and full GC events being triggered.
Notes
This is happening because of concurrency bug in com.atlassian.jira.index.DelayCloseable.Helper
Example of leak in DelayCloseSearcher"
Workaround
Restart JIRA
Attachments
Issue Links
- causes
-
JRASERVER-65394 Operations utilizing the Lucene index fail due to mishandling of org.apache.lucene.store.AlreadyClosedException error
- Closed
-
JRASERVER-62524 As an Admin, I would not like to see warning messages in the logs for DefaultIndexEngine if it should not be a concern to the admins
- Gathering Interest
-
PS-24297 Loading...
- mentioned in
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...