-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IW.getReader() returns inconsistent reader on RT Branch [LUCENE-3028] #4102
Comments
Simon Willnauer (@s1monw) (migrated from JIRA) here is a first patch |
Simon Willnauer (@s1monw) (migrated from JIRA) next iteration, edited some asserts in DW |
Simon Willnauer (@s1monw) (migrated from JIRA) I will commit this latest patch to the branch we can still iterates but since we have jenkins running builds I want to let that sink a bit too.... simon |
selckin (migrated from JIRA) Seems to fail once every 6-8 runs quite consistently (at least i think this is the issue) brachnes/realtime_search r1092329 {{ |
Simon Willnauer (@s1monw) (migrated from JIRA) hmm I can't even after 1k runs :( |
Simon Willnauer (@s1monw) (migrated from JIRA) I just committed a fix for this - seems like the assert which resets the current flushing queue was at the wrong position. |
selckin (migrated from JIRA) hasn't failed since above fix |
Simon Willnauer (@s1monw) (migrated from JIRA)
thanks for reporting back, the failure you reported was due to a reset call at the wrong position. I was allowing blocked flushed to continue before I reset the the var that ensures that the blocked flushes continue before a full flush finished. |
Simon Willnauer (@s1monw) (migrated from JIRA) fixed in RT |
I extended the testcase TestRollingUpdates#testUpdateSameDoc to pull a NRT reader after each update and asserted that is always sees only one document. Yet, this fails with current branch since there is a problem in how we flush in the getReader() case. What happens here is that we flush all threads and then release the lock (letting other flushes which came in after we entered the flushAllThread context, continue) so that we could concurrently get a new segment that transports global deletes without the corresponding add. They sneak in while we continue to open the NRT reader which in turn sees inconsistent results.
I will upload a patch soon
Migrated from LUCENE-3028 by Simon Willnauer (@s1monw), resolved May 03 2011
Attachments: LUCENE-3028.patch (versions: 2), realtime-1.txt
Linked issues:
The text was updated successfully, but these errors were encountered: