On 8/9/06, Doron Cohen <[EMAIL PROTECTED]> wrote:
public StringIndex getStringIndex (IndexReader reader, String field) throws IOException { field = field.intern(); synchronize(field) { // < ----------- line added Object ret = lookup (reader, field, STRING_INDEX, null); if (ret == null) { final int[] retArray = new int[reader.maxDoc()]; ... load field to cache ... }
Assuming "field" wasn't being used to synchronize on something else, this would still block *all* IndexReaders/Searchers trying to sort on that field. In Solr, it would make the situation worse. If I had my warmed-up IndexSearcher serving live requests, and a new Searcher is opened in the background to be warmed, a getStringIndex(warming,"foo") would also block all getStringIndex(live,"foo"). -Yonik http://incubator.apache.org/solr Solr, the open-source Lucene search server --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]