[ https://issues.apache.org/jira/browse/LUCENE-880?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Busch updated LUCENE-880: --------------------------------- Attachment: lucene-880.patch Patch with new unit test. > DocumentWriter closes TokenStreams too early > -------------------------------------------- > > Key: LUCENE-880 > URL: https://issues.apache.org/jira/browse/LUCENE-880 > Project: Lucene - Java > Issue Type: Bug > Reporter: Michael Busch > Assigned To: Michael Busch > Priority: Minor > Attachments: lucene-880.patch > > > The DocumentWriter closes a TokenStream as soon as it has consumed its > tokens. The javadoc of TokenStream.close() says that it releases resources > associated with the stream. However, the DocumentWriter keeps references of > the resources (i. e. payload byte arrays, term strings) until it writes the > postings to the new segment, which means that DocumentWriter should call > TokenStream.close() after it has written the postings. > This problem occurs in multithreaded applications where e. g. pooling is used > for the resources. My patch adds a new test to TestPayloads which shows this > problem. Multiple threads add documents with payloads to an index and use a > pool of byte arrays for the payloads. TokenStream.close() puts the byte > arrays back into the pool. The test fails with the old version but runs > successfully with the patched version. > All other units tests pass as well. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]