That should work, I think, but if you are serializing these threads so that they cannot run concurrently, maybe try running both operations in a single thread, at least as a test. On Fri, Nov 9, 2018 at 9:16 AM Boris Petrov <boris_pet...@live.com> wrote: > > If you mean the synchronization of the threads, it is not in the > example, but Thread 2 is *started* after Thread 1 finished executing the > code that I gave as an example. So there is happens-before between them. > If you mean synchronization on the Lucene level - isn't that what > "maybeRefreshBlocking" should do? > > On 11/9/18 3:29 PM, Michael Sokolov wrote: > > I'm not seeing anything there that would synchronize, or serialize, the > > read after the write and commit. Did you expect that for some reason? > > > > On Fri, Nov 9, 2018, 6:00 AM Boris Petrov <boris_pet...@live.com wrote: > > > >> Hi all, > >> > >> I'm using Lucene version 7.5.0. We have a test that does something like: > >> > >> Thread 1: > >> > >> Field idStringField = new StringField("id", id, > >> Field.Store.YES); > >> Field contentsField = new TextField("contents", reader); > >> Document document = new Document(); > >> document.add(idStringField); > >> document.add(contentsField); > >> > >> writer.updateDocument(new Term(ID_FIELD, id), document); > >> writer.flush(); // not sure this flush is needed? > >> writer.commit(); > >> > >> Thread 2: > >> > >> searchManager.maybeRefreshBlocking(); > >> IndexSearcher searcher = searchManager.acquire(); > >> try { > >> QueryParser parser = new QueryParser("contents", analyzer); > >> Query luceneQuery = parser.parse(queryText); > >> ScoreDoc[] hits = searcher.search(luceneQuery, > >> 50).scoreDocs; > >> } finally { > >> searchManager.release(searcher); > >> } > >> > >> Thread 1 happens before Thread 2. > >> > >> Sometimes, only sometimes, the commit from thread 1 is not *immediately* > >> visible in Thread 2. If I put a "Thread.sleep(1000)" it always works. > >> Without it, sometimes the search is empty. I'm not sure if I'm doing > >> something wrong or this is a bug? > >> > >> Thanks! > >> > >>
--------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org