Return-Path: Delivered-To: apmail-lucene-java-dev-archive@www.apache.org Received: (qmail 54883 invoked from network); 6 Mar 2009 20:00:23 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 6 Mar 2009 20:00:23 -0000 Received: (qmail 5138 invoked by uid 500); 6 Mar 2009 20:00:20 -0000 Delivered-To: apmail-lucene-java-dev-archive@lucene.apache.org Received: (qmail 5084 invoked by uid 500); 6 Mar 2009 20:00:20 -0000 Mailing-List: contact java-dev-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: java-dev@lucene.apache.org Delivered-To: mailing list java-dev@lucene.apache.org Received: (qmail 5075 invoked by uid 99); 6 Mar 2009 20:00:19 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 06 Mar 2009 12:00:19 -0800 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 06 Mar 2009 20:00:17 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 43498234C4B8 for ; Fri, 6 Mar 2009 11:59:56 -0800 (PST) Message-ID: <683195408.1236369596274.JavaMail.jira@brutus> Date: Fri, 6 Mar 2009 11:59:56 -0800 (PST) From: "Jason Rutherglen (JIRA)" To: java-dev@lucene.apache.org Subject: [jira] Updated: (LUCENE-1516) Integrate IndexReader with IndexWriter In-Reply-To: <2023665220.1231549319500.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/LUCENE-1516?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jason Rutherglen updated LUCENE-1516: ------------------------------------- Attachment: LUCENE-1516.patch {quote} On an explicit commit(), we should also sweep the pool and write changes to disk for any SR that has pending changes. {quote} I created SegmentReaderPool.commitAll which commits changes for all SRs in the pool in IW.startCommit. bq. applyDeletes at the top of commitMergedDeletes Removed bq. switching back to docMap for merging deletes Where should I get the numDeletedDocs from? (Used for docUpto += docCount - previousReader.numDeletedDocs()) Should the entire docIdMap be scanned? Is there an expense in cloning the segment readers besides the extra bitvectors? * SegmentReaderPool.release is implemented instead of using reader.decRef. I think you're saying put this patch's decRef logic in the SRP.release method? * Added IW.close to TestIndexReader.testDocsOutOfOrderJIRA140 * TestTransactions may sometimes be failing legitimately during the prepareCommit, the exception can't be reliably reproduced but perhaps another test case can be written that does * TestIndexWriterDelete.testErrorAfterApplyDeletes fails due to IW.commit not throwing an expected exception > Integrate IndexReader with IndexWriter > --------------------------------------- > > Key: LUCENE-1516 > URL: https://issues.apache.org/jira/browse/LUCENE-1516 > Project: Lucene - Java > Issue Type: Improvement > Affects Versions: 2.4 > Reporter: Jason Rutherglen > Assignee: Michael McCandless > Priority: Minor > Fix For: 2.9 > > Attachments: LUCENE-1516.patch, LUCENE-1516.patch, LUCENE-1516.patch, LUCENE-1516.patch, LUCENE-1516.patch, LUCENE-1516.patch, LUCENE-1516.patch, LUCENE-1516.patch, LUCENE-1516.patch, LUCENE-1516.patch, LUCENE-1516.patch, LUCENE-1516.patch, LUCENE-1516.patch, LUCENE-1516.patch, LUCENE-1516.patch, LUCENE-1516.patch, LUCENE-1516.patch, LUCENE-1516.patch, LUCENE-1516.patch, LUCENE-1516.patch, LUCENE-1516.patch, LUCENE-1516.patch > > Original Estimate: 672h > Remaining Estimate: 672h > > The current problem is an IndexReader and IndexWriter cannot be open > at the same time and perform updates as they both require a write > lock to the index. While methods such as IW.deleteDocuments enables > deleting from IW, methods such as IR.deleteDocument(int doc) and > norms updating are not available from IW. This limits the > capabilities of performing updates to the index dynamically or in > realtime without closing the IW and opening an IR, deleting or > updating norms, flushing, then opening the IW again, a process which > can be detrimental to realtime updates. > This patch will expose an IndexWriter.getReader method that returns > the currently flushed state of the index as a class that implements > IndexReader. The new IR implementation will differ from existing IR > implementations such as MultiSegmentReader in that flushing will > synchronize updates with IW in part by sharing the write lock. All > methods of IR will be usable including reopen and clone. -- 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: java-dev-unsubscribe@lucene.apache.org For additional commands, e-mail: java-dev-help@lucene.apache.org