Return-Path: X-Original-To: apmail-lucene-dev-archive@www.apache.org Delivered-To: apmail-lucene-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 5068F792C for ; Fri, 9 Dec 2011 10:31:06 +0000 (UTC) Received: (qmail 33345 invoked by uid 500); 9 Dec 2011 10:31:04 -0000 Delivered-To: apmail-lucene-dev-archive@lucene.apache.org Received: (qmail 33280 invoked by uid 500); 9 Dec 2011 10:31:04 -0000 Mailing-List: contact dev-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@lucene.apache.org Delivered-To: mailing list dev@lucene.apache.org Received: (qmail 33273 invoked by uid 99); 9 Dec 2011 10:31:04 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 09 Dec 2011 10:31:04 +0000 X-ASF-Spam-Status: No, hits=-2001.2 required=5.0 tests=ALL_TRUSTED,RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 09 Dec 2011 10:31:01 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id B73BB109050 for ; Fri, 9 Dec 2011 10:30:40 +0000 (UTC) Date: Fri, 9 Dec 2011 10:30:40 +0000 (UTC) From: "Martijn van Groningen (Commented) (JIRA)" To: dev@lucene.apache.org Message-ID: <347785530.57485.1323426640751.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (SOLR-1499) SolrEntityProcessor - DIH EntityProcessor that queries an external Solr via SolrJ MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/SOLR-1499?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13166042#comment-13166042 ] Martijn van Groningen commented on SOLR-1499: --------------------------------------------- {quote} Regarding the thread safety: of course the SolrEntityProcessor isn't thread-safe but the synchronization is handled outside that class, since nextRow() and init() methods are both called from a synchronized block. In fact, queries are not executed concurrently. I added some comments, and a specific unit test method which works like the EntityRunner. We can of course make the processor thread-safe itself adding some lock, but I don't think it's worthwhile. {quote} I see the ThreadedEntityProcessorWrapper#nextRow() method synchronizes the calls to nextRow(). This means that EntityProcessor implementations don't have to worry about synchronization. > SolrEntityProcessor - DIH EntityProcessor that queries an external Solr via SolrJ > --------------------------------------------------------------------------------- > > Key: SOLR-1499 > URL: https://issues.apache.org/jira/browse/SOLR-1499 > Project: Solr > Issue Type: New Feature > Components: contrib - DataImportHandler > Reporter: Lance Norskog > Fix For: 3.6, 4.0 > > Attachments: SOLR-1499.core.rev1182017.patch, SOLR-1499.patch, SOLR-1499.patch, SOLR-1499.patch, SOLR-1499.patch, SOLR-1499.patch, SOLR-1499.patch, SOLR-1499.patch, SOLR-1499.patch, SOLR-1499.patch, SOLR-1499.tests.rev1182017.patch > > > The SolrEntityProcessor queries an external Solr instance. The Solr documents returned are unpacked and emitted as DIH fields. > The SolrEntityProcessor uses the following attributes: > * solr='http://localhost:8983/solr/sms' > ** This gives the URL of the target Solr instance. > *** Note: the connection to the target Solr uses the binary SolrJ format. > * query='Jefferson&sort=id+asc' > ** This gives the base query string use with Solr. It can include any standard Solr request parameter. This attribute is processed under the variable resolution rules and can be driven in an inner stage of the indexing pipeline. > * rows='10' > ** This gives the number of rows to fetch per request.. > ** The SolrEntityProcessor always fetches every document that matches the request.. > * fields='id,tag' > ** This selects the fields to be returned from the Solr request. > ** These must also be declared as elements. > ** As with all fields, template processors can be used to alter the contents to be passed downwards. > * timeout='30' > ** This limits the query to 5 seconds. This can be used as a fail-safe to prevent the indexing session from freezing up. By default the timeout is 5 minutes. > Limitations: > * Solr errors are not handled correctly. > * Loop control constructs have not been tested. > * Multi-valued returned fields have not been tested. > The unit tests give examples of how to use it as the root entity and an inner entity. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org For additional commands, e-mail: dev-help@lucene.apache.org