[
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]