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

Reply via email to