-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Component/s: core/index
-
Labels:None
-
Lucene Fields:New
IndexInput now holds a private "byte[] bytes", which it re-uses for reading strings. Likewise, IndexOutput holds a UTF8Result (which holds "byte[] bytes"), re-used for writing strings.
These are both dangerous, since on reading or writing immense strings, we never free this storage.
We don't use read/writeString in very perf sensitive parts of the code, so, I think we should not reuse the byte[] at all.
I think this is likely the cause of the recent "IndexWriter and memory usage" thread, started by Ross Woolf on java-user@.