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

Erick Erickson resolved SOLR-13408.
-----------------------------------
       Resolution: Fixed
    Fix Version/s: master (9.0)
                   8.1
                   7.7.2

> Cannot start/stop DaemonStream repeatedly, other API improvements
> -----------------------------------------------------------------
>
>                 Key: SOLR-13408
>                 URL: https://issues.apache.org/jira/browse/SOLR-13408
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: streaming expressions
>    Affects Versions: 7.7, 8.0, master (9.0)
>            Reporter: Erick Erickson
>            Assignee: Erick Erickson
>            Priority: Major
>             Fix For: 7.7.2, 8.1, master (9.0)
>
>         Attachments: SOLR-13408.patch, SOLR-13408.patch, SOLR-13408.patch
>
>
> If I create a DaemonStream then use the API commands to stop it then start it 
> repeatedly, after the first time it's stopped/started, it cannot be stopped 
> again.
> DaemonStream.close() checks whether a local variable "closed" is true, and if 
> so does nothing. Otherwise it closes the stream then sets "closed" to true.
> However, when the stream is started again, "closed" is not set to false, 
> therefore the next time you try to stop the deamon, nothing happens and it 
> continues to run. One other consequence of this is that you can have orphan 
> threads running in the background. Say I
> {code:java}
> stop the daemon
> start it again
> create another one with the same ID
> {code}
> When the new one is created, this code is executed over in 
> StreamHandler.handleRequestBody:
> {code:java}
> daemons.remove(daemonStream.getId()).close();
> {code}
> which will not terminate the stream thread as above. Then the open() method 
> executes this:
> {code:java}
> this.streamRunner = new StreamRunner(runInterval, id);
> {code}
> leaving the thread running.
> Finally, there's an NPE if I try to start a non-existent daemon.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to