Return-Path: Delivered-To: apmail-lucene-dev-archive@www.apache.org Received: (qmail 12557 invoked from network); 25 May 2010 09:50:50 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 25 May 2010 09:50:50 -0000 Received: (qmail 95039 invoked by uid 500); 25 May 2010 09:50:49 -0000 Delivered-To: apmail-lucene-dev-archive@lucene.apache.org Received: (qmail 94871 invoked by uid 500); 25 May 2010 09:50:47 -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 94858 invoked by uid 99); 25 May 2010 09:50:46 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 25 May 2010 09:50:46 +0000 X-ASF-Spam-Status: No, hits=-1461.4 required=10.0 tests=ALL_TRUSTED,AWL X-Spam-Check-By: apache.org Received: from [140.211.11.22] (HELO thor.apache.org) (140.211.11.22) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 25 May 2010 09:50:45 +0000 Received: from thor (localhost [127.0.0.1]) by thor.apache.org (8.13.8+Sun/8.13.8) with ESMTP id o4P9oOOL021403 for ; Tue, 25 May 2010 09:50:24 GMT Message-ID: <32789173.30761274781024640.JavaMail.jira@thor> Date: Tue, 25 May 2010 05:50:24 -0400 (EDT) From: "Karl Wright (JIRA)" To: dev@lucene.apache.org Subject: [jira] Created: (SOLR-1924) Solr's updateRequestHandler does not have a fast way of guaranteeing document delivery MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 Solr's updateRequestHandler does not have a fast way of guaranteeing document delivery -------------------------------------------------------------------------------------- Key: SOLR-1924 URL: https://issues.apache.org/jira/browse/SOLR-1924 Project: Solr Issue Type: Bug Affects Versions: 1.4 Reporter: Karl Wright It is currently not possible, without performing a commit on every document, to use updateRequestHandler to guarantee delivery into the index of any document. The reason is that whenever Solr is restarted, some or all documents that have not been committed yet are dropped on the floor, and there is no way for a client of updateRequestHandler to know which ones this happened to. I believe it is not even possible to write a middleware-style layer that stores documents and performs periodic commits on its own, because the update request handler never ACKs individual documents on a commit, but merely everything it has seen since the last time Solr bounced. So you have this potential scenario: - middleware layer receives document 1, saves it - middleware layer receives document 2, saves it Now it's time for the commit, so: - middleware layer sends document 1 to updateRequestHandler - solr is restarted, dropping all uncommitted documents on the floor - middleware layer sends document 2 to updateRequestHandler - middleware layer sends COMMIT to updateRequestHandler, but solr adds only document 2 to the index - middleware believes incorrectly that it has successfully committed both documents An ideal solution would be for Solr to separate the semantics of commit (the index building variety) from the semantics of commit (the 'I got the document' variety). Perhaps this will involve a persistent document queue that will persist over a Solr restart. An alternative mechanism might be for updateRequestHandler to acknowledge specifically committed documents in its response to an explicit commit. But this would make it difficult or impossible to use autocommit usefully in such situations. The only other alternative is to require clients that need guaranteed delivery to commit on every document, with a considerable performance penalty. This ticket is related to LCF in that LCF is one of the clients that really needs some kind of guaranteed delivery mechanism. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org For additional commands, e-mail: dev-help@lucene.apache.org