Return-Path: X-Original-To: apmail-incubator-lucy-user-archive@www.apache.org Delivered-To: apmail-incubator-lucy-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 8A33996CF for ; Tue, 22 Nov 2011 20:38:11 +0000 (UTC) Received: (qmail 13651 invoked by uid 500); 22 Nov 2011 20:38:11 -0000 Delivered-To: apmail-incubator-lucy-user-archive@incubator.apache.org Received: (qmail 13629 invoked by uid 500); 22 Nov 2011 20:38:11 -0000 Mailing-List: contact lucy-user-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: lucy-user@incubator.apache.org Delivered-To: mailing list lucy-user@incubator.apache.org Received: (qmail 13621 invoked by uid 99); 22 Nov 2011 20:38:11 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 22 Nov 2011 20:38:11 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [68.116.39.62] (HELO rectangular.com) (68.116.39.62) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 22 Nov 2011 20:38:03 +0000 Received: from marvin by rectangular.com with local (Exim 4.69) (envelope-from ) id 1RSx1b-0005tD-Ip for lucy-user@incubator.apache.org; Tue, 22 Nov 2011 12:33:03 -0800 Date: Tue, 22 Nov 2011 12:33:03 -0800 From: Marvin Humphrey To: lucy-user@incubator.apache.org Message-ID: <20111122203303.GA22588@rectangular.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.18 (2008-05-17) X-Virus-Checked: Checked by ClamAV on apache.org Subject: Re: [lucy-user] lucy-dev and 0.3.0 On Tue, Nov 22, 2011 at 09:25:48PM +0200, goran kent wrote: > My radar picked up some chatter from the dev list (to which I'm not > subscribed, so sorry for the cross-post): > > > perhaps we can disable the select loop and just go with serial collection of responses -- the remotes still work in parallel that way. > > I'm curious about the apparent dichotomy in the above: serial > collection <--> remote parallel? PolySearcher model: for my $remote (@remote_nodes) { $poly_searcher->send_request($remote, $request); $poly_searcher->retrieve_response($remote); } ClusterSearcher model: for my $remote (@remote_nodes) { $cluster_searcher->send_request($remote, $request); } for my $remote (@remote_nodes) { $cluster_searcher->retrieve_response($remote); } In the PolySearcher model, we wait for a response from each remote node before even sending the request to the next remote node; under ClusterSearcher we fire off all requests, then gather all responses. It's far from perfect, but it's better than before and at least it wouldn't be crashing outright the way the select loop is for you at the moment. Marvin Humphrey