[ 
https://issues.apache.org/jira/browse/SOLR-8550?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15098459#comment-15098459
 ] 

Joel Bernstein edited comment on SOLR-8550 at 1/18/16 12:07 PM:
----------------------------------------------------------------

The general design is to add a new DaemonStream which will be handled 
differently by the /stream handler. When the /stream handler sees an 
DaemonStream it will open it and just keep it around in a memory. The 
DaemonStream will have a thread that wakes up periodically and opens, reads, 
and closes it's underlying stream. Syntax would look like this:

{code}
daemon(alert())
{code}

The AlertStream would be a new stream created in a different ticket. 

Parallel async streams should work fine as well, facilitating very large scale 
alerting systems:
{code}
parallel(daemon(alert()))
{code}

In the parallel example the DaemonStream would be pushed to worker nodes where 
they would live.

An example of background aggregation:

{code}
parallel(daemon(update(rollup(...))))
{code}



was (Author: joel.bernstein):
The general design is to add a new AsyncStream which will be handled 
differently by the /stream handler. When the /stream handler sees an 
AsyncStream it will open it and just keep it around in a memory. The 
AsyncStream will have a thread that wakes up periodically and opens, reads, and 
closes it's underlying stream. Syntax would look like this:

{code}
async(alert())
{code}

The AlertStream would be a new stream created in a different ticket. 

Parallel async streams should work fine as well, facilitating very large scale 
alerting systems:
{code}
parallel(async(alert()))
{code}

In the parallel example the AsyncStream would be pushed to worker nodes where 
they would live.

An example of background aggregation:

{code}
parallel(async(update(rollup(...))))
{code}


> Add asynchronous DaemonStreams to the Streaming API
> ---------------------------------------------------
>
>                 Key: SOLR-8550
>                 URL: https://issues.apache.org/jira/browse/SOLR-8550
>             Project: Solr
>          Issue Type: Bug
>            Reporter: Joel Bernstein
>         Attachments: SOLR-8550.patch, SOLR-8550.patch, SOLR-8550.patch, 
> SOLR-8550.patch, SOLR-8550.patch, SOLR-8550.patch, SOLR-8550.patch
>
>
> Currently all streams in the Streaming API are synchronously *pulled* by a 
> client.
> It would be great to add the capability to have asyncronous *DaemonStreams* 
> that live within Solr that can *push* content as well. This would facilite 
> large scale alerting and background aggregation use cases.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to