[ 
https://issues.apache.org/jira/browse/SOLR-2308?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yonik Seeley resolved SOLR-2308.
--------------------------------

       Resolution: Fixed
    Fix Version/s: 4.0
                   3.1

Oops, I saw Johannes fix posted in SOLR-1744 and didn't know this issue existed.
Anyway, this should now be fixed in 3x and trunk.

> Race condition still exists in StreamingUpdateSolrServer which could cause it 
> to hang
> -------------------------------------------------------------------------------------
>
>                 Key: SOLR-2308
>                 URL: https://issues.apache.org/jira/browse/SOLR-2308
>             Project: Solr
>          Issue Type: Bug
>          Components: clients - java
>    Affects Versions: 1.4.1
>            Reporter: Johannes
>             Fix For: 3.1, 4.0
>
>
> We are still seeing the same issue as SOLR-1711 & SOLR-1885 with Solr1.4.1
> We get into this situation when all the runner threads die due to a broken 
> pipe, while the BlockingQueue is still full. All of the producer threads are 
> all blocked on the BlockingQueue.put() method. Since the runners are spawned 
> by the producers, which are all blocked, runner threads never get created to 
> drain the queue.
> Here's a potential fix. In the runner code, replace these lines:
> {code}
> // remove it from the list of running things...
> synchronized (runners) {
>     runners.remove( this );
> }
> {code}
> with these lines:
> {code}
> // remove it from the list of running things unless we are the last runner 
> and the queue is full...
> synchronized (runners) {
>     if (runners.size() == 1 && queue.remainingCapacity() == 0) {
>         // keep this runner alive
>         scheduler.execute(this);
>     } else {
>         runners.remove( this );
>     }
> }
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to