You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by yo...@apache.org on 2010/10/24 23:09:16 UTC
svn commit: r1026888 - in /lucene/solr/branches/branch-1.4: CHANGES.txt
src/solrj/org/apache/solr/client/solrj/impl/StreamingUpdateSolrServer.java
Author: yonik
Date: Sun Oct 24 21:09:16 2010
New Revision: 1026888
URL: http://svn.apache.org/viewvc?rev=1026888&view=rev
Log:
SOLR-2192: sync runners in StreamingUpdateSolrServer.blockUntilFinished
Modified:
lucene/solr/branches/branch-1.4/CHANGES.txt
lucene/solr/branches/branch-1.4/src/solrj/org/apache/solr/client/solrj/impl/StreamingUpdateSolrServer.java
Modified: lucene/solr/branches/branch-1.4/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/solr/branches/branch-1.4/CHANGES.txt?rev=1026888&r1=1026887&r2=1026888&view=diff
==============================================================================
--- lucene/solr/branches/branch-1.4/CHANGES.txt (original)
+++ lucene/solr/branches/branch-1.4/CHANGES.txt Sun Oct 24 21:09:16 2010
@@ -62,6 +62,9 @@ Bug Fixes
* SOLR-2180: It was possible for EmbeddedSolrServer to leave searchers
open if a request threw an exception. (yonik)
+* SOLR-2192: StreamingUpdateSolrServer.blockUntilFinished was not
+ thread safe and could throw an exception. (yonik)
+
================== Release 1.4.1 ==================
Release Date: See http://lucene.apache.org/solr for the official release date.
Modified: lucene/solr/branches/branch-1.4/src/solrj/org/apache/solr/client/solrj/impl/StreamingUpdateSolrServer.java
URL: http://svn.apache.org/viewvc/lucene/solr/branches/branch-1.4/src/solrj/org/apache/solr/client/solrj/impl/StreamingUpdateSolrServer.java?rev=1026888&r1=1026887&r2=1026888&view=diff
==============================================================================
--- lucene/solr/branches/branch-1.4/src/solrj/org/apache/solr/client/solrj/impl/StreamingUpdateSolrServer.java (original)
+++ lucene/solr/branches/branch-1.4/src/solrj/org/apache/solr/client/solrj/impl/StreamingUpdateSolrServer.java Sun Oct 24 21:09:16 2010
@@ -227,18 +227,21 @@ public class StreamingUpdateSolrServer e
lock = new CountDownLatch(1);
try {
// Wait until no runners are running
- Runner runner = runners.peek();
- while( runner != null ) {
+ for(;;) {
+ Runner runner;
+ synchronized(runners) {
+ runner = runners.peek();
+ }
+ if (runner == null) break;
runner.runnerLock.lock();
runner.runnerLock.unlock();
- runner = runners.peek();
}
} finally {
lock.countDown();
lock=null;
}
}
-
+
public void handleError( Throwable ex )
{
log.error( "error", ex );