Return-Path: X-Original-To: apmail-cassandra-dev-archive@www.apache.org Delivered-To: apmail-cassandra-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 247DC772A for ; Mon, 10 Oct 2011 14:19:59 +0000 (UTC) Received: (qmail 91786 invoked by uid 500); 10 Oct 2011 14:19:58 -0000 Delivered-To: apmail-cassandra-dev-archive@cassandra.apache.org Received: (qmail 91764 invoked by uid 500); 10 Oct 2011 14:19:58 -0000 Mailing-List: contact dev-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list dev@cassandra.apache.org Received: (qmail 91756 invoked by uid 99); 10 Oct 2011 14:19:58 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 10 Oct 2011 14:19:58 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of norman.maurer@googlemail.com designates 209.85.220.172 as permitted sender) Received: from [209.85.220.172] (HELO mail-vx0-f172.google.com) (209.85.220.172) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 10 Oct 2011 14:19:51 +0000 Received: by vcbfo11 with SMTP id fo11so5745258vcb.31 for ; Mon, 10 Oct 2011 07:19:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=FqABbI42hmvzUSBy0Pl9s/j652XJev5LbTaWRlyPnI0=; b=JWVhN8oGcV8pyJxsX88LbEMjuAa5wPKzfP39Y1jXcl402QMh+taKEbpfeFkhz7y2p/ 8wmOPcUWSr0UtujnPmP0jakzEzcLe39ybhbjRqYO4UqbK/EUK/yEANjwSicR7KfBxD3z nesZAa0RKXmyfQI7Ngu/XqhSs1wz9I9bCYzpU= MIME-Version: 1.0 Received: by 10.52.172.231 with SMTP id bf7mr13701133vdc.0.1318256370633; Mon, 10 Oct 2011 07:19:30 -0700 (PDT) Received: by 10.220.179.137 with HTTP; Mon, 10 Oct 2011 07:19:30 -0700 (PDT) In-Reply-To: References: <20111010135628.A1CE223888FE@eris.apache.org> Date: Mon, 10 Oct 2011 16:19:30 +0200 Message-ID: Subject: Re: svn commit: r1180970 - in /cassandra/branches/cassandra-1.0.0: ./ src/java/org/apache/cassandra/db/ src/java/org/apache/cassandra/db/compaction/ src/java/org/apache/cassandra/io/sstable/ src/java/org/apache/cassandra/io/util/ From: Norman Maurer To: dev@cassandra.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org No problem... It just catched my attention ;) Keep on coding, Norman 2011/10/10 Sylvain Lebresne : > On Mon, Oct 10, 2011 at 4:03 PM, Norman Maurer > wrote: >> Hi there, >> >> did you alter the snappy-java version by mistake or was this part of >> the commit ? > > Sorry, that was intentional but I should probably not have been lazy > and made a separate commit. > I just updated the version referenced in the pom so that it matches > what we are using. i.e, I > haven't updated the lib, I've just made it so that user of maven > central will get the 'right' version. > > -- > Sylvain > >> >> Bye, >> Norman >> >> >> 2011/10/10 =A0: >>> Author: slebresne >>> Date: Mon Oct 10 13:56:27 2011 >>> New Revision: 1180970 >>> >>> URL: http://svn.apache.org/viewvc?rev=3D1180970&view=3Drev >>> Log: >>> Fix places where uncompressed sstable size is used in place of the comp= ressed one. >>> patch by slebresne; reviewed by jbellis for CASSANDRA-3338 >>> >>> Modified: >>> =A0 =A0cassandra/branches/cassandra-1.0.0/CHANGES.txt >>> =A0 =A0cassandra/branches/cassandra-1.0.0/build.xml >>> =A0 =A0cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra= /db/ColumnFamilyStore.java >>> =A0 =A0cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra= /db/compaction/CompactionManager.java >>> =A0 =A0cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra= /db/compaction/SizeTieredCompactionStrategy.java >>> =A0 =A0cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra= /io/sstable/SSTable.java >>> =A0 =A0cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra= /io/sstable/SSTableReader.java >>> =A0 =A0cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra= /io/util/CompressedSegmentedFile.java >>> =A0 =A0cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra= /io/util/SegmentedFile.java >>> >>> Modified: cassandra/branches/cassandra-1.0.0/CHANGES.txt >>> URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/CH= ANGES.txt?rev=3D1180970&r1=3D1180969&r2=3D1180970&view=3Ddiff >>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D >>> --- cassandra/branches/cassandra-1.0.0/CHANGES.txt (original) >>> +++ cassandra/branches/cassandra-1.0.0/CHANGES.txt Mon Oct 10 13:56:27 = 2011 >>> @@ -12,6 +12,8 @@ >>> =A0* run compaction and hinted handoff threads at MIN_PRIORITY (CASSAND= RA-3308) >>> =A0* default hsha thrift server to cpu core count in rpc pool (CASSANDR= A-3329) >>> =A0* add bin\daemon to binary tarball for Windows service (CASSANDRA-33= 31) >>> + * Fix places where uncompressed size of sstables was use in place of = the >>> + =A0 compressed one (CASSANDRA-3338) >>> =A0Fixes merged from 0.8 below: >>> =A0* Fix tool .bat files when CASSANDRA_HOME contains spaces (CASSANDRA= -3258) >>> =A0* Force flush of status table when removing/updating token (CASSANDR= A-3243) >>> >>> Modified: cassandra/branches/cassandra-1.0.0/build.xml >>> URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/bu= ild.xml?rev=3D1180970&r1=3D1180969&r2=3D1180970&view=3Ddiff >>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D >>> --- cassandra/branches/cassandra-1.0.0/build.xml (original) >>> +++ cassandra/branches/cassandra-1.0.0/build.xml Mon Oct 10 13:56:27 20= 11 >>> @@ -350,7 +350,7 @@ url=3D${svn.entry.url}?pathrev=3D${svn.entry >>> =A0 =A0 =A0 =A0 >>> =A0 =A0 =A0 =A0 >>> =A0 =A0 =A0 =A0 >>> - =A0 =A0 =A0 =A0 =A0 >>> + =A0 =A0 =A0 =A0 =A0 >>> =A0 =A0 =A0 =A0 =A0 >>> =A0 =A0 =A0 =A0 =A0 >>> =A0 =A0 =A0 =A0 =A0 >>> >>> Modified: cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassan= dra/db/ColumnFamilyStore.java >>> URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/sr= c/java/org/apache/cassandra/db/ColumnFamilyStore.java?rev=3D1180970&r1=3D11= 80969&r2=3D1180970&view=3Ddiff >>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D >>> --- cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/db= /ColumnFamilyStore.java (original) >>> +++ cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/db= /ColumnFamilyStore.java Mon Oct 10 13:56:27 2011 >>> @@ -915,7 +915,7 @@ public class ColumnFamilyStore implement >>> =A0 =A0 =A0 =A0 long expectedFileSize =3D 0; >>> =A0 =A0 =A0 =A0 for (SSTableReader sstable : sstables) >>> =A0 =A0 =A0 =A0 { >>> - =A0 =A0 =A0 =A0 =A0 =A0long size =3D sstable.length(); >>> + =A0 =A0 =A0 =A0 =A0 =A0long size =3D sstable.onDiskLength(); >>> =A0 =A0 =A0 =A0 =A0 =A0 expectedFileSize =3D expectedFileSize + size; >>> =A0 =A0 =A0 =A0 } >>> =A0 =A0 =A0 =A0 return expectedFileSize; >>> @@ -930,9 +930,9 @@ public class ColumnFamilyStore implement >>> =A0 =A0 =A0 =A0 SSTableReader maxFile =3D null; >>> =A0 =A0 =A0 =A0 for (SSTableReader sstable : sstables) >>> =A0 =A0 =A0 =A0 { >>> - =A0 =A0 =A0 =A0 =A0 =A0if (sstable.length() > maxSize) >>> + =A0 =A0 =A0 =A0 =A0 =A0if (sstable.onDiskLength() > maxSize) >>> =A0 =A0 =A0 =A0 =A0 =A0 { >>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0maxSize =3D sstable.length(); >>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0maxSize =3D sstable.onDiskLength(); >>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 maxFile =3D sstable; >>> =A0 =A0 =A0 =A0 =A0 =A0 } >>> =A0 =A0 =A0 =A0 } >>> >>> Modified: cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassan= dra/db/compaction/CompactionManager.java >>> URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/sr= c/java/org/apache/cassandra/db/compaction/CompactionManager.java?rev=3D1180= 970&r1=3D1180969&r2=3D1180970&view=3Ddiff >>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D >>> --- cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/db= /compaction/CompactionManager.java (original) >>> +++ cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/db= /compaction/CompactionManager.java Mon Oct 10 13:56:27 2011 >>> @@ -472,7 +472,7 @@ public class CompactionManager implement >>> =A0 =A0 =A0 =A0 boolean isCommutative =3D cfs.metadata.getDefaultValida= tor().isCommutative(); >>> >>> =A0 =A0 =A0 =A0 // Calculate the expected compacted filesize >>> - =A0 =A0 =A0 =A0String compactionFileLocation =3D cfs.table.getDataFil= eLocation(sstable.length()); >>> + =A0 =A0 =A0 =A0String compactionFileLocation =3D cfs.table.getDataFil= eLocation(sstable.onDiskLength()); >>> =A0 =A0 =A0 =A0 if (compactionFileLocation =3D=3D null) >>> =A0 =A0 =A0 =A0 =A0 =A0 throw new IOException("disk full"); >>> =A0 =A0 =A0 =A0 int expectedBloomFilterSize =3D Math.max(DatabaseDescri= ptor.getIndexInterval(), >>> @@ -765,8 +765,8 @@ public class CompactionManager implement >>> >>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 String format =3D "Cleaned up to %s. = =A0%,d to %,d (~%d%% of original) bytes for %,d keys. =A0Time: %,dms."; >>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 long dTime =3D System.currentTimeMillis= () - startTime; >>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0long startsize =3D sstable.length(); >>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0long endsize =3D newSstable.length(); >>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0long startsize =3D sstable.onDiskLengt= h(); >>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0long endsize =3D newSstable.onDiskLeng= th(); >>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 double ratio =3D (double)endsize / (dou= ble)startsize; >>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 logger.info(String.format(format, write= r.getFilename(), startsize, endsize, (int)(ratio*100), totalkeysWritten, dT= ime)); >>> =A0 =A0 =A0 =A0 =A0 =A0 } >>> >>> Modified: cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassan= dra/db/compaction/SizeTieredCompactionStrategy.java >>> URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/sr= c/java/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategy.java= ?rev=3D1180970&r1=3D1180969&r2=3D1180970&view=3Ddiff >>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D >>> --- cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/db= /compaction/SizeTieredCompactionStrategy.java (original) >>> +++ cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/db= /compaction/SizeTieredCompactionStrategy.java Mon Oct 10 13:56:27 2011 >>> @@ -100,7 +100,7 @@ public class SizeTieredCompactionStrateg >>> =A0 =A0 { >>> =A0 =A0 =A0 =A0 List> tableLengthPairs =3D ne= w ArrayList>(); >>> =A0 =A0 =A0 =A0 for(SSTableReader table: collection) >>> - =A0 =A0 =A0 =A0 =A0 =A0tableLengthPairs.add(new Pair(table, table.length())); >>> + =A0 =A0 =A0 =A0 =A0 =A0tableLengthPairs.add(new Pair(table, table.onDiskLength())); >>> =A0 =A0 =A0 =A0 return tableLengthPairs; >>> =A0 =A0 } >>> >>> >>> Modified: cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassan= dra/io/sstable/SSTable.java >>> URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/sr= c/java/org/apache/cassandra/io/sstable/SSTable.java?rev=3D1180970&r1=3D1180= 969&r2=3D1180970&view=3Ddiff >>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D >>> --- cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/io= /sstable/SSTable.java (original) >>> +++ cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/io= /sstable/SSTable.java Mon Oct 10 13:56:27 2011 >>> @@ -257,7 +257,7 @@ public abstract class SSTable >>> =A0 =A0 =A0 =A0 long sum =3D 0; >>> =A0 =A0 =A0 =A0 for (SSTableReader sstable : sstables) >>> =A0 =A0 =A0 =A0 { >>> - =A0 =A0 =A0 =A0 =A0 =A0sum +=3D sstable.length(); >>> + =A0 =A0 =A0 =A0 =A0 =A0sum +=3D sstable.onDiskLength(); >>> =A0 =A0 =A0 =A0 } >>> =A0 =A0 =A0 =A0 return sum; >>> =A0 =A0 } >>> >>> Modified: cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassan= dra/io/sstable/SSTableReader.java >>> URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/sr= c/java/org/apache/cassandra/io/sstable/SSTableReader.java?rev=3D1180970&r1= =3D1180969&r2=3D1180970&view=3Ddiff >>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D >>> --- cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/io= /sstable/SSTableReader.java (original) >>> +++ cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/io= /sstable/SSTableReader.java Mon Oct 10 13:56:27 2011 >>> @@ -555,7 +555,7 @@ public class SSTableReader extends SSTab >>> =A0 =A0 =A0 =A0 =A0 =A0 long right =3D getPosition(new DecoratedKey(ran= ge.right, null), Operator.GT); >>> =A0 =A0 =A0 =A0 =A0 =A0 if (right =3D=3D -1 || Range.isWrapAround(range= .left, range.right)) >>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 // right is past the end of the file, o= r it wraps >>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0right =3D length(); >>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0right =3D uncompressedLength(); >>> =A0 =A0 =A0 =A0 =A0 =A0 if (left =3D=3D right) >>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 // empty range >>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 continue; >>> @@ -669,13 +669,25 @@ public class SSTableReader extends SSTab >>> =A0 =A0 } >>> >>> =A0 =A0 /** >>> - =A0 =A0 * @return The length in bytes of the data file for this SSTab= le. >>> + =A0 =A0 * @return The length in bytes of the data for this SSTable. F= or >>> + =A0 =A0 * compressed files, this is not the same thing as the on disk= size (see >>> + =A0 =A0 * onDiskLength()) >>> =A0 =A0 =A0*/ >>> - =A0 =A0public long length() >>> + =A0 =A0public long uncompressedLength() >>> =A0 =A0 { >>> =A0 =A0 =A0 =A0 return dfile.length; >>> =A0 =A0 } >>> >>> + =A0 =A0/** >>> + =A0 =A0 * @return The length in bytes of the on disk size for this SS= Table. For >>> + =A0 =A0 * compressed files, this is not the same thing as the data le= ngth (see >>> + =A0 =A0 * length()) >>> + =A0 =A0 */ >>> + =A0 =A0public long onDiskLength() >>> + =A0 =A0{ >>> + =A0 =A0 =A0 =A0return dfile.onDiskLength; >>> + =A0 =A0} >>> + >>> =A0 =A0 public boolean acquireReference() >>> =A0 =A0 { >>> =A0 =A0 =A0 =A0 while (true) >>> >>> Modified: cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassan= dra/io/util/CompressedSegmentedFile.java >>> URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/sr= c/java/org/apache/cassandra/io/util/CompressedSegmentedFile.java?rev=3D1180= 970&r1=3D1180969&r2=3D1180970&view=3Ddiff >>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D >>> --- cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/io= /util/CompressedSegmentedFile.java (original) >>> +++ cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/io= /util/CompressedSegmentedFile.java Mon Oct 10 13:56:27 2011 >>> @@ -30,7 +30,7 @@ public class CompressedSegmentedFile ext >>> >>> =A0 =A0 public CompressedSegmentedFile(String path, CompressionMetadata= metadata) >>> =A0 =A0 { >>> - =A0 =A0 =A0 =A0super(path, metadata.dataLength); >>> + =A0 =A0 =A0 =A0super(path, metadata.dataLength, metadata.compressedFi= leLength); >>> =A0 =A0 =A0 =A0 this.metadata =3D metadata; >>> =A0 =A0 } >>> >>> >>> Modified: cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassan= dra/io/util/SegmentedFile.java >>> URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/sr= c/java/org/apache/cassandra/io/util/SegmentedFile.java?rev=3D1180970&r1=3D1= 180969&r2=3D1180970&view=3Ddiff >>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D >>> --- cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/io= /util/SegmentedFile.java (original) >>> +++ cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/io= /util/SegmentedFile.java Mon Oct 10 13:56:27 2011 >>> @@ -42,13 +42,23 @@ public abstract class SegmentedFile >>> =A0 =A0 public final String path; >>> =A0 =A0 public final long length; >>> >>> + =A0 =A0// This differs from length for compressed files (but we still= need length for >>> + =A0 =A0// SegmentIterator because offsets in the file are relative to= the uncompressed size) >>> + =A0 =A0public final long onDiskLength; >>> + >>> =A0 =A0 /** >>> =A0 =A0 =A0* Use getBuilder to get a Builder to construct a SegmentedFi= le. >>> =A0 =A0 =A0*/ >>> =A0 =A0 SegmentedFile(String path, long length) >>> =A0 =A0 { >>> + =A0 =A0 =A0 =A0this(path, length, length); >>> + =A0 =A0} >>> + >>> + =A0 =A0protected SegmentedFile(String path, long length, long onDiskL= ength) >>> + =A0 =A0{ >>> =A0 =A0 =A0 =A0 this.path =3D path; >>> =A0 =A0 =A0 =A0 this.length =3D length; >>> + =A0 =A0 =A0 =A0this.onDiskLength =3D onDiskLength; >>> =A0 =A0 } >>> >>> =A0 =A0 /** >>> >>> >>> >> >