Return-Path: Delivered-To: apmail-incubator-cassandra-commits-archive@minotaur.apache.org Received: (qmail 39018 invoked from network); 6 Jul 2009 19:57:59 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 6 Jul 2009 19:57:59 -0000 Received: (qmail 50044 invoked by uid 500); 6 Jul 2009 19:58:09 -0000 Delivered-To: apmail-incubator-cassandra-commits-archive@incubator.apache.org Received: (qmail 50021 invoked by uid 500); 6 Jul 2009 19:58:09 -0000 Mailing-List: contact cassandra-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: cassandra-dev@incubator.apache.org Delivered-To: mailing list cassandra-commits@incubator.apache.org Received: (qmail 50011 invoked by uid 99); 6 Jul 2009 19:58:09 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 06 Jul 2009 19:58:09 +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.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 06 Jul 2009 19:58:06 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 019AA2388872; Mon, 6 Jul 2009 19:57:45 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r791589 - in /incubator/cassandra/trunk/src/java/org/apache/cassandra: db/ColumnFamilyStore.java io/SSTable.java Date: Mon, 06 Jul 2009 19:57:44 -0000 To: cassandra-commits@incubator.apache.org From: jbellis@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090706195745.019AA2388872@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: jbellis Date: Mon Jul 6 19:57:44 2009 New Revision: 791589 URL: http://svn.apache.org/viewvc?rev=791589&view=rev Log: encapsulate bloom filter access into sstable.getPosition patch by jbellis; reviewed by Jun Rao for CASSANDRA-259 Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java incubator/cassandra/trunk/src/java/org/apache/cassandra/io/SSTable.java Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java?rev=791589&r1=791588&r2=791589&view=diff ============================================================================== --- incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java (original) +++ incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java Mon Jul 6 19:57:44 2009 @@ -551,15 +551,6 @@ { for (SSTable sstable : ssTables_.values()) { - /* - * Get the BloomFilter associated with this file. Check if the key - * is present in the BloomFilter. If not continue to the next file. - */ - boolean bVal = sstable.isKeyPossible(key); - if (!bVal) - { - continue; - } ColumnFamily columnFamily = null; try { @@ -567,6 +558,7 @@ } catch (IOException e) { + // annotate exception w/ more information about context throw new IOException("Error fetching " + key + ":" + cf + " from " + sstable, e); } if (columnFamily != null) @@ -1571,9 +1563,6 @@ List sstables = new ArrayList(ssTables_.values()); for (SSTable sstable : sstables) { - // If the key is not present in the SSTable's BloomFilter, continue to the next file - if (!sstable.isKeyPossible(key)) - continue; iter = new SSTableColumnIterator(sstable.getFilename(), key, cfName, startColumn, isAscending); if (iter.hasNext()) { Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/io/SSTable.java URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/io/SSTable.java?rev=791589&r1=791588&r2=791589&view=diff ============================================================================== --- incubator/cassandra/trunk/src/java/org/apache/cassandra/io/SSTable.java (original) +++ incubator/cassandra/trunk/src/java/org/apache/cassandra/io/SSTable.java Mon Jul 6 19:57:44 2009 @@ -292,11 +292,14 @@ */ public long getPosition(String decoratedKey, IPartitioner partitioner) throws IOException { + if (!bf.isPresent(decoratedKey)) + return -1; long start = getIndexScanPosition(decoratedKey, partitioner); if (start < 0) { return -1; } + // TODO mmap the index file? BufferedRandomAccessFile input = new BufferedRandomAccessFile(indexFilename(dataFile_), "r"); input.seek(start); @@ -488,11 +491,6 @@ } } - public boolean isKeyPossible(String clientKey) - { - return bf.isPresent(partitioner_.decorateKey(clientKey)); - } - IPartitioner getPartitioner() { return partitioner_;