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

ASF GitHub Bot commented on STORM-851:
--------------------------------------

Github user hmcl commented on a diff in the pull request:

    https://github.com/apache/storm/pull/665#discussion_r37883322
  
    --- Diff: 
external/storm-solr/src/main/java/org/apache/storm/solr/bolt/SolrUpdateBolt.java
 ---
    @@ -0,0 +1,107 @@
    +package org.apache.storm.solr.bolt;
    +
    +import backtype.storm.task.OutputCollector;
    +import backtype.storm.task.TopologyContext;
    +import backtype.storm.topology.OutputFieldsDeclarer;
    +import backtype.storm.tuple.Tuple;
    +import org.apache.solr.client.solrj.SolrRequest;
    +import org.apache.solr.client.solrj.SolrServerException;
    +import org.apache.storm.solr.config.SolrCommitStrategy;
    +import org.apache.storm.solr.config.SolrConfig;
    +import org.apache.storm.solr.mapper.SolrMapper;
    +import org.slf4j.Logger;
    +import org.slf4j.LoggerFactory;
    +
    +import java.io.IOException;
    +import java.util.LinkedList;
    +import java.util.List;
    +import java.util.Map;
    +
    +/**
    + * Created by hlouro on 7/19/15.
    + */
    +public class SolrUpdateBolt extends AbstractSolrBolt {
    +    private final Logger logger = 
LoggerFactory.getLogger(SolrUpdateBolt.class);
    +    private final SolrMapper solrMapper;
    +    private final SolrCommitStrategy commitStgy;
    +    private List<Tuple> toCommitTuples;
    +    private final String ackFailLock = "LOCK";      //serializable lock
    +
    +
    +    public SolrUpdateBolt(SolrConfig solrConfig, SolrMapper solrMapper) {
    +        this(solrConfig, solrMapper, null);
    +    }
    +
    +    public SolrUpdateBolt(SolrConfig solrConfig, SolrMapper solrMapper, 
SolrCommitStrategy commitStgy) {
    +        super(solrConfig);
    +        this.solrMapper = solrMapper;
    +        this.commitStgy = commitStgy;
    +        logger.info("Created {} with the following configuration: " +
    +                    "[SolrConfig = {}], [SolrMapper = {}], [CommitStgy = 
{}]",
    +                    this.getClass().getSimpleName(), solrConfig, 
solrMapper, commitStgy);
    +    }
    +
    +    @Override
    +    public void prepare(Map stormConf, TopologyContext context, 
OutputCollector collector) {
    +        super.prepare(stormConf, context, collector);
    +        this.toCommitTuples = new LinkedList<>();
    --- End diff --
    
    It now uses ArrayList with the correct size at creation, to avoid 
reallocation overhead.


> Storm Solr connector
> --------------------
>
>                 Key: STORM-851
>                 URL: https://issues.apache.org/jira/browse/STORM-851
>             Project: Apache Storm
>          Issue Type: Improvement
>            Reporter: Sriharsha Chintalapani
>            Assignee: Hugo Louro
>
> Storm solr connector should provide bolt and trident implementation to allow 
> users to index data coming through the topology into solr.



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

Reply via email to