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

Reply via email to