Return-Path: Delivered-To: apmail-lucene-java-dev-archive@www.apache.org Received: (qmail 19892 invoked from network); 26 May 2009 10:41:58 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 26 May 2009 10:41:58 -0000 Received: (qmail 80293 invoked by uid 500); 26 May 2009 10:42:10 -0000 Delivered-To: apmail-lucene-java-dev-archive@lucene.apache.org Received: (qmail 80217 invoked by uid 500); 26 May 2009 10:42:10 -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 80209 invoked by uid 99); 26 May 2009 10:42:10 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 26 May 2009 10:42:10 +0000 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; Tue, 26 May 2009 10:42:06 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id A19E7234C1F0 for ; Tue, 26 May 2009 03:41:45 -0700 (PDT) Message-ID: <1174306853.1243334505661.JavaMail.jira@brutus> Date: Tue, 26 May 2009 03:41:45 -0700 (PDT) From: "Michael McCandless (JIRA)" To: java-dev@lucene.apache.org Subject: [jira] Commented: (LUCENE-1658) Absorb NIOFSDirectory into FSDirectory In-Reply-To: <1868008588.1243181445652.JavaMail.jira@brutus> 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/LUCENE-1658?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12712952#action_12712952 ] Michael McCandless commented on LUCENE-1658: -------------------------------------------- bq. Not completely sure why, but MMap failed for me on Win32 some time ago I think on 32 bit JRE we shouldn't choose MMap in FSDir.open(). bq. It's a one-liner. I can make a patch, but while it works better than vanilla MMapD, I'm not yet sure it's the best approach. As for writing - okay, I'll tell you if it turns out to be anything good. Which way do you think "prime all bytes up front on open" should default? {quote} There are a lot of variables. Just as you said, on 32bit systems you have to take care of address space. So, nice for small indexes, bad for big ones. But, mmap in Java cannot be explicitly closed, it is closed in finalizer, so even for a small index if you update really often, you can hit an OOM even though you have enough memory. MMapD failed for me on windows. But it is fast. It is absolutely, totally, uber-indespensible, if you have a 64bit system, fat index, memory to spare and require lots of fast searches. So, you can probably enable it for non-Win 64bit? {quote} Wait, are you saying Win 64 bit has problems w/ MMapDir? (I thought you just said Win 32 bit, above). Is MMapDir fine w/ concurrency? (I'd assume so). So, if you had the choice (ie, you're running in env w/ plenty of virtual mem), MMapDir would be preferred over NIOFSDir? On a 64 bit env that doesn't have that much RAM, MMapDir should fare no worse than NIOFSDir, right? Ie both are competing for the same IO cache. And so on a 64 bit JRE perhaps the default should always be MMAPDir. > Absorb NIOFSDirectory into FSDirectory > -------------------------------------- > > Key: LUCENE-1658 > URL: https://issues.apache.org/jira/browse/LUCENE-1658 > Project: Lucene - Java > Issue Type: Improvement > Components: Store > Reporter: Michael McCandless > Assignee: Michael McCandless > Priority: Minor > Fix For: 2.9 > > Attachments: LUCENE-1658.patch, LUCENE-1658.patch > > > I think whether one uses java.io.* vs java.nio.* or eventually > java.nio2.*, or some other means, is an under-the-hood implementation > detail of FSDirectory and doesn't merit a whole separate class. > I think FSDirectory should be the core class one uses when one's index > is in the filesystem. > So, I'd like to deprecate NIOFSDirectory, absorbing it into > FSDirectory, and add a setting "useNIO" to FSDirectory. It should > default to "true" for non-Windows OSs, because it gives far better > concurrent performance on all platforms but Windows (due to known Sun > JRE issue http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6265734). -- 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