Revert to allow multiple bb writers threads in user driven GUI keyword search

This commit is contained in:
adam-m 2012-06-11 10:27:30 -04:00
parent df6262bd50
commit c2909727a5

View File

@ -509,7 +509,7 @@ public class KeywordSearchResultFactory extends ChildFactory<KeyValueQuery> {
private static List<ResultWriter> writers = new ArrayList<ResultWriter>(); private static List<ResultWriter> writers = new ArrayList<ResultWriter>();
//lock utilized to enqueue writers and limit execution to 1 at a time //lock utilized to enqueue writers and limit execution to 1 at a time
private static final ReentrantReadWriteLock rwLock = new ReentrantReadWriteLock(true); //use fairness policy private static final ReentrantReadWriteLock rwLock = new ReentrantReadWriteLock(true); //use fairness policy
private static final Lock writerLock = rwLock.writeLock(); //private static final Lock writerLock = rwLock.writeLock();
private ProgressHandle progress; private ProgressHandle progress;
private KeywordSearchQuery query; private KeywordSearchQuery query;
private String listName; private String listName;
@ -546,7 +546,7 @@ public class KeywordSearchResultFactory extends ChildFactory<KeyValueQuery> {
registerWriter(this); //register (synchronized on class) outside of writerLock to prevent deadlock registerWriter(this); //register (synchronized on class) outside of writerLock to prevent deadlock
//block until previous writer is done //block until previous writer is done
writerLock.lock(); //writerLock.lock();
try { try {
final String queryStr = query.getQueryString(); final String queryStr = query.getQueryString();
final String queryDisp = queryStr.length() > QUERY_DISPLAY_LEN ? queryStr.substring(0, QUERY_DISPLAY_LEN - 1) + " ..." : queryStr; final String queryDisp = queryStr.length() > QUERY_DISPLAY_LEN ? queryStr.substring(0, QUERY_DISPLAY_LEN - 1) + " ..." : queryStr;
@ -590,7 +590,7 @@ public class KeywordSearchResultFactory extends ChildFactory<KeyValueQuery> {
} }
} finally { } finally {
writerLock.unlock(); //writerLock.unlock();
finalizeWorker(); finalizeWorker();
} }