[
https://issues.apache.org/jira/browse/LUCENE-808?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12474924
]
Doron Cohen commented on LUCENE-808:
------------------------------------
[ moving discussion back to JIRA ]
Ning Li wrote:
> On 2/21/07, Doron Cohen (JIRA) <[EMAIL PROTECTED]> wrote:
> > Imagine the application and Lucene could talk, with the current
> > implementation we could hear something like this: ...
>
> However, there could be multiple threads updating the same index. For
> example, thread 1 deletes the term "id:5" twice, thread 2 inserts a
> document with "id:10". The following two are among the possible
> execution sequences:
> Sequence 1:
> thread 1 deletes "id:5"
> thread 1 deletes "id:5"
> thread 2 inserts document "id:10"
> Sequence 2:
> thread 1 deletes "id:5"
> thread 2 inserts document "id:10"
> thread 1 deletes "id:5".
>
> They should return the same numBufferedDeleteTerms, not different ones.
Nice example Ning!
Mmmm... I am still not convinced... :-)
Assume the inserts were with "id:5", then after sequence 1 there
would be a doc with "id:5" in the index, but after sequence 2
there would not be such a doc. NumDocs() would be different
in the two sequences. Why should numBufferedDeleteTerms be the same?
Anyhow, even if we would agree that this is a problem, I think it
is a minor one, and I am ok with deciding to leave things as they
are. Writing this piece from start, you may see internal logic that
I don't see.
Let's give it a few days, perhaps get comments from others,
(perhaps change our mind about it :-) ). If nothing changes
I think I will set "won't fix".
Regards,
Doron
> bufferDeleteTerm in IndexWriter might flush prematurely
> -------------------------------------------------------
>
> Key: LUCENE-808
> URL: https://issues.apache.org/jira/browse/LUCENE-808
> Project: Lucene - Java
> Issue Type: Bug
> Components: Index
> Affects Versions: 2.1
> Reporter: Doron Cohen
> Assigned To: Doron Cohen
> Attachments: successive_bufferDeleteTerm.patch
>
>
> Successive calls to remove-by-the-same-term would increment
> numBufferedDeleteTerms
> although all but the first are no op if no docs were added in between. Hence
> deletes would
> be flushed too soon.
> It is a minor problem, should be rare, but it seems cleaner to fix this.
> Attached patch also fixes TestIndexWriterDelete.testNonRAMDelete() which
> somehow
> relied on this behavior. All tests pass.
--
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]