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

ASF GitHub Bot commented on METRON-227:
---------------------------------------

Github user mmiklavc commented on the issue:

    https://github.com/apache/incubator-metron/pull/188
  
    It is a much simpler design and it leverages Storm's built-in mechanisms 
for performing actions like DB flushes. Also, you don't have to worry about 
multi-threading in your bolt if you want to flush prior to your buffer being 
full when you haven't received a tuple in a while. e.g. I have 99 tuples and 
need 100 for a flush, but don't receive a tuple for n minutes - without using 
tick tuples, you either just sit and wait, add a thread that needs to check 
internally, or add another external bolt with a clock. 
    
    I'm not aware of any cons to using the TT approach. This is what tick 
tuples were built for.


> Add Time-Based Flushing to Writer Bolt
> --------------------------------------
>
>                 Key: METRON-227
>                 URL: https://issues.apache.org/jira/browse/METRON-227
>             Project: Metron
>          Issue Type: Bug
>            Reporter: Domenic Puzio
>            Assignee: Ajay Yadav
>              Labels: 0.2.1BETA
>             Fix For: 0.2.1BETA
>
>
> We need to change the BulkMessageWriterBolt and BulkWriterComponent to use 
> time-based flushing when writing data to Elasticsearch or Solr.
> Currently, we set a batch size, and the Writer waits for that number of 
> tuples to build up; however, Storm has a timeout value that prevents it from 
> waiting for too long. If the Writer does not get the batch size before the 
> timeout, then it recycles the tuples through the topology. In addition, Storm 
> only allows so many pending messages that have not been acked - if too many 
> messages are waiting for the bulk Writer, then it will recycle them through 
> the topology. This is not desired behavior and directly impacts the 
> performance of this Writer. We would like to be able to specify a unit of 
> time for which the topology would flush, writing the data it's currently 
> holding to Elasticsearch or Solr even if the batch size is not met.



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

Reply via email to