[ https://issues.apache.org/jira/browse/LUCENE-938?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12512271 ]
Ning Li commented on LUCENE-938: -------------------------------- I didn't make myself clear. Let me try again. The patch includes two parts of changes to IndexWriter: one adds localNumBufferedDeleteTerms and localBufferedDeleteTerms and uses them in startTransaction() and rollbackTransaction(); the other fixes loss of buffered deletes in flush() (and applyDeletes() which is used by flush()). The second part is good and that's where you had the comment on cloning. I was referring to the first part. In startTransaction(), "localBufferedDeleteTerms = bufferedDeleteTerms" reference-copies bufferedDeleteTerms. Then more delete terms are buffered into bufferedDeleteTerms... so localBufferedDeleteTerms would have the delete terms buffered between startTransaction() and the first flush()... > I/O exceptions can cause loss of buffered deletes > ------------------------------------------------- > > Key: LUCENE-938 > URL: https://issues.apache.org/jira/browse/LUCENE-938 > Project: Lucene - Java > Issue Type: Bug > Components: Index > Reporter: Steven Parkes > Assignee: Steven Parkes > Fix For: 2.3 > > Attachments: LUCENE-938.take2.patch, LUCENE-938.txt, LUCENE-938.txt > > > Some I/O exceptions that result in segmentInfos rollback operations can cause > buffered deletes that existed before the rollback creation point to be > incorrectly lost when the IOException triggers a rollback. -- 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]