Community
Participate
Working Groups
Build 20020423 There is a possible concurrency hole (that could explain some of the indexer crashes) when saving the index before querying it. The problem is that the following pattern is used: monitor.enterWrite(); index.save(); monitor.exitWrite(); monitor.enterRead(); index.queryInDocumentNames(...); monitor.exitRead(); Between exitWrite() and enterRead(), a writer is able to write to the index.
Fixed by adding ReadWriteMonitor.exitWriteEnterRead(). Also removed the save() in all the index query methods. This is done by the client.