Author: jbellis Date: Mon Oct 10 17:48:56 2011 New Revision: 1181094 URL: http://svn.apache.org/viewvc?rev=1181094&view=rev Log: merge from 1.0.0
Removed: cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/concurrent/AIOExecutorService.java Modified: cassandra/branches/cassandra-1.0/ (props changed) cassandra/branches/cassandra-1.0/CHANGES.txt cassandra/branches/cassandra-1.0/build.xml cassandra/branches/cassandra-1.0/conf/cassandra.yaml cassandra/branches/cassandra-1.0/contrib/ (props changed) cassandra/branches/cassandra-1.0/debian/changelog cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java (props changed) cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java (props changed) cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java (props changed) cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java (props changed) cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java (props changed) cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/config/DatabaseDescriptor.java cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/ColumnFamilyStore.java cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/compaction/CompactionManager.java cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategy.java cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/io/sstable/SSTable.java cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/io/sstable/SSTableReader.java cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/io/util/CompressedSegmentedFile.java cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/io/util/SegmentedFile.java Propchange: cassandra/branches/cassandra-1.0/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Oct 10 17:48:56 2011 @@ -5,7 +5,7 @@ /cassandra/branches/cassandra-0.8.0:1125021-1130369 /cassandra/branches/cassandra-0.8.1:1101014-1125018 /cassandra/branches/cassandra-1.0:1167106,1167185 -/cassandra/branches/cassandra-1.0.0:1167104-1180157,1180959 +/cassandra/branches/cassandra-1.0.0:1167104-1181093 /cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689 /cassandra/tags/cassandra-0.8.0-rc1:1102511-1125020 /cassandra/trunk:1167085-1167102,1169870 Modified: cassandra/branches/cassandra-1.0/CHANGES.txt URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/CHANGES.txt?rev=1181094&r1=1181093&r2=1181094&view=diff ============================================================================== --- cassandra/branches/cassandra-1.0/CHANGES.txt (original) +++ cassandra/branches/cassandra-1.0/CHANGES.txt Mon Oct 10 17:48:56 2011 @@ -19,6 +19,8 @@ * run compaction and hinted handoff threads at MIN_PRIORITY (CASSANDRA-3308) * default hsha thrift server to cpu core count in rpc pool (CASSANDRA-3329) * add bin\daemon to binary tarball for Windows service (CASSANDRA-3331) + * Fix places where uncompressed size of sstables was use in place of the + compressed one (CASSANDRA-3338) Fixes merged from 0.8 below: * Fix tool .bat files when CASSANDRA_HOME contains spaces (CASSANDRA-3258) * Force flush of status table when removing/updating token (CASSANDRA-3243) Modified: cassandra/branches/cassandra-1.0/build.xml URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/build.xml?rev=1181094&r1=1181093&r2=1181094&view=diff ============================================================================== --- cassandra/branches/cassandra-1.0/build.xml (original) +++ cassandra/branches/cassandra-1.0/build.xml Mon Oct 10 17:48:56 2011 @@ -25,7 +25,7 @@ <property name="debuglevel" value="source,lines,vars"/> <!-- default version and SCM information (we need the default SCM info as people may checkout with git-svn) --> - <property name="base.version" value="1.0.0-rc2"/> + <property name="base.version" value="1.0.0"/> <property name="scm.default.path" value="cassandra/branches/cassandra-1.0.0"/> <property name="scm.default.connection" value="scm:svn:http://svn.apache.org/repos/asf/${scm.default.path}"/> <property name="scm.default.developerConnection" value="scm:svn:https://svn.apache.org/repos/asf/${scm.default.path}"/> @@ -350,7 +350,7 @@ url=${svn.entry.url}?pathrev=${svn.entry <license name="The Apache Software License, Version 2.0" url="http://www.apache.org/licenses/LICENSE-2.0.txt"/> <scm connection="${scm.connection}" developerConnection="${scm.developerConnection}" url="${scm.url}"/> <dependencyManagement> - <dependency groupId="org.xerial.snappy" artifactId="snappy-java" version="1.0.3.3"/> + <dependency groupId="org.xerial.snappy" artifactId="snappy-java" version="1.0.3"/> <dependency groupId="com.ning" artifactId="compress-lzf" version="0.8.4"/> <dependency groupId="com.google.guava" artifactId="guava" version="r08"/> <dependency groupId="commons-cli" artifactId="commons-cli" version="1.1"/> Modified: cassandra/branches/cassandra-1.0/conf/cassandra.yaml URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/conf/cassandra.yaml?rev=1181094&r1=1181093&r2=1181094&view=diff ============================================================================== --- cassandra/branches/cassandra-1.0/conf/cassandra.yaml (original) +++ cassandra/branches/cassandra-1.0/conf/cassandra.yaml Mon Oct 10 17:48:56 2011 @@ -219,7 +219,8 @@ rpc_server_type: sync # disconnects before accepting more. The defaults for sync are min of 16 and max # unlimited. # -# For the Hsha server, the min and max both default to the number of CPU cores. +# For the Hsha server, the min and max both default to quadruple the number of +# CPU cores. # # This configuration is ignored by the async server. # Propchange: cassandra/branches/cassandra-1.0/contrib/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Oct 10 17:48:56 2011 @@ -5,7 +5,7 @@ /cassandra/branches/cassandra-0.8.0/contrib:1125021-1130369 /cassandra/branches/cassandra-0.8.1/contrib:1101014-1125018 /cassandra/branches/cassandra-1.0/contrib:1167106,1167185 -/cassandra/branches/cassandra-1.0.0/contrib:1167104-1180157,1180959 +/cassandra/branches/cassandra-1.0.0/contrib:1167104-1181093 /cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689 /cassandra/tags/cassandra-0.8.0-rc1/contrib:1102511-1125020 /cassandra/trunk/contrib:1167085-1167102,1169870 Modified: cassandra/branches/cassandra-1.0/debian/changelog URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/debian/changelog?rev=1181094&r1=1181093&r2=1181094&view=diff ============================================================================== --- cassandra/branches/cassandra-1.0/debian/changelog (original) +++ cassandra/branches/cassandra-1.0/debian/changelog Mon Oct 10 17:48:56 2011 @@ -1,3 +1,9 @@ +cassandra (1.0.0) unstable; urgency=low + + * New release + + -- Sylvain Lebresne <slebre...@apache.org> Sat, 08 Oct 2011 12:35:41 +0200 + cassandra (1.0.0~rc2) unstable; urgency=low * New release candidate Propchange: cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Oct 10 17:48:56 2011 @@ -5,7 +5,7 @@ /cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1125021-1130369 /cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1101014-1125018 /cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1167106,1167185 -/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1167104-1180157,1180959 +/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1167104-1181093 /cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1051699-1053689 /cassandra/tags/cassandra-0.8.0-rc1/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1102511-1125020 /cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1167085-1167102,1169870 Propchange: cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Oct 10 17:48:56 2011 @@ -5,7 +5,7 @@ /cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1125021-1130369 /cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1101014-1125018 /cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1167106,1167185 -/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1167104-1180157,1180959 +/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1167104-1181093 /cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1051699-1053689 /cassandra/tags/cassandra-0.8.0-rc1/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1102511-1125020 /cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1167085-1167102,1169870 Propchange: cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Oct 10 17:48:56 2011 @@ -5,7 +5,7 @@ /cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1125021-1130369 /cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1101014-1125018 /cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1167106,1167185 -/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1167104-1180157,1180959 +/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1167104-1181093 /cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1051699-1053689 /cassandra/tags/cassandra-0.8.0-rc1/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1102511-1125020 /cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1167085-1167102,1169870 Propchange: cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Oct 10 17:48:56 2011 @@ -5,7 +5,7 @@ /cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1125021-1130369 /cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1101014-1125018 /cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1167106,1167185 -/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1167104-1180157,1180959 +/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1167104-1181093 /cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1051699-1053689 /cassandra/tags/cassandra-0.8.0-rc1/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1102511-1125020 /cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1167085-1167102,1169870 Propchange: cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Oct 10 17:48:56 2011 @@ -5,7 +5,7 @@ /cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1125021-1130369 /cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1101014-1125018 /cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1167106,1167185 -/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1167104-1180157,1180959 +/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1167104-1181093 /cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1051699-1053689 /cassandra/tags/cassandra-0.8.0-rc1/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1102511-1125020 /cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1167085-1167102,1169870 Modified: cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/config/DatabaseDescriptor.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/config/DatabaseDescriptor.java?rev=1181094&r1=1181093&r2=1181094&view=diff ============================================================================== --- cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/config/DatabaseDescriptor.java (original) +++ cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/config/DatabaseDescriptor.java Mon Oct 10 17:48:56 2011 @@ -368,7 +368,7 @@ public class DatabaseDescriptor throw new ConfigurationException("Unknown rpc_server_type: " + conf.rpc_server_type); if (conf.rpc_min_threads == null) conf.rpc_min_threads = conf.rpc_server_type.toLowerCase().equals("hsha") - ? Runtime.getRuntime().availableProcessors() + ? Runtime.getRuntime().availableProcessors() * 4 : 16; if (conf.rpc_max_threads == null) conf.rpc_max_threads = conf.rpc_server_type.toLowerCase().equals("hsha") Modified: cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/ColumnFamilyStore.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/ColumnFamilyStore.java?rev=1181094&r1=1181093&r2=1181094&view=diff ============================================================================== --- cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/ColumnFamilyStore.java (original) +++ cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/ColumnFamilyStore.java Mon Oct 10 17:48:56 2011 @@ -915,7 +915,7 @@ public class ColumnFamilyStore implement long expectedFileSize = 0; for (SSTableReader sstable : sstables) { - long size = sstable.length(); + long size = sstable.onDiskLength(); expectedFileSize = expectedFileSize + size; } return expectedFileSize; @@ -930,9 +930,9 @@ public class ColumnFamilyStore implement SSTableReader maxFile = null; for (SSTableReader sstable : sstables) { - if (sstable.length() > maxSize) + if (sstable.onDiskLength() > maxSize) { - maxSize = sstable.length(); + maxSize = sstable.onDiskLength(); maxFile = sstable; } } Modified: cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/compaction/CompactionManager.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/compaction/CompactionManager.java?rev=1181094&r1=1181093&r2=1181094&view=diff ============================================================================== --- cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/compaction/CompactionManager.java (original) +++ cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/compaction/CompactionManager.java Mon Oct 10 17:48:56 2011 @@ -472,7 +472,7 @@ public class CompactionManager implement boolean isCommutative = cfs.metadata.getDefaultValidator().isCommutative(); // Calculate the expected compacted filesize - String compactionFileLocation = cfs.table.getDataFileLocation(sstable.length()); + String compactionFileLocation = cfs.table.getDataFileLocation(sstable.onDiskLength()); if (compactionFileLocation == null) throw new IOException("disk full"); int expectedBloomFilterSize = Math.max(DatabaseDescriptor.getIndexInterval(), @@ -765,8 +765,8 @@ public class CompactionManager implement String format = "Cleaned up to %s. %,d to %,d (~%d%% of original) bytes for %,d keys. Time: %,dms."; long dTime = System.currentTimeMillis() - startTime; - long startsize = sstable.length(); - long endsize = newSstable.length(); + long startsize = sstable.onDiskLength(); + long endsize = newSstable.onDiskLength(); double ratio = (double)endsize / (double)startsize; logger.info(String.format(format, writer.getFilename(), startsize, endsize, (int)(ratio*100), totalkeysWritten, dTime)); } Modified: cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategy.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategy.java?rev=1181094&r1=1181093&r2=1181094&view=diff ============================================================================== --- cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategy.java (original) +++ cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategy.java Mon Oct 10 17:48:56 2011 @@ -100,7 +100,7 @@ public class SizeTieredCompactionStrateg { List<Pair<SSTableReader, Long>> tableLengthPairs = new ArrayList<Pair<SSTableReader, Long>>(); for(SSTableReader table: collection) - tableLengthPairs.add(new Pair<SSTableReader, Long>(table, table.length())); + tableLengthPairs.add(new Pair<SSTableReader, Long>(table, table.onDiskLength())); return tableLengthPairs; } Modified: cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/io/sstable/SSTable.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/io/sstable/SSTable.java?rev=1181094&r1=1181093&r2=1181094&view=diff ============================================================================== --- cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/io/sstable/SSTable.java (original) +++ cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/io/sstable/SSTable.java Mon Oct 10 17:48:56 2011 @@ -257,7 +257,7 @@ public abstract class SSTable long sum = 0; for (SSTableReader sstable : sstables) { - sum += sstable.length(); + sum += sstable.onDiskLength(); } return sum; } Modified: cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/io/sstable/SSTableReader.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/io/sstable/SSTableReader.java?rev=1181094&r1=1181093&r2=1181094&view=diff ============================================================================== --- cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/io/sstable/SSTableReader.java (original) +++ cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/io/sstable/SSTableReader.java Mon Oct 10 17:48:56 2011 @@ -555,7 +555,7 @@ public class SSTableReader extends SSTab long right = getPosition(new DecoratedKey(range.right, null), Operator.GT); if (right == -1 || Range.isWrapAround(range.left, range.right)) // right is past the end of the file, or it wraps - right = length(); + right = uncompressedLength(); if (left == right) // empty range continue; @@ -669,13 +669,25 @@ public class SSTableReader extends SSTab } /** - * @return The length in bytes of the data file for this SSTable. + * @return The length in bytes of the data for this SSTable. For + * compressed files, this is not the same thing as the on disk size (see + * onDiskLength()) */ - public long length() + public long uncompressedLength() { return dfile.length; } + /** + * @return The length in bytes of the on disk size for this SSTable. For + * compressed files, this is not the same thing as the data length (see + * length()) + */ + public long onDiskLength() + { + return dfile.onDiskLength; + } + public boolean acquireReference() { while (true) Modified: cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/io/util/CompressedSegmentedFile.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/io/util/CompressedSegmentedFile.java?rev=1181094&r1=1181093&r2=1181094&view=diff ============================================================================== --- cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/io/util/CompressedSegmentedFile.java (original) +++ cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/io/util/CompressedSegmentedFile.java Mon Oct 10 17:48:56 2011 @@ -30,7 +30,7 @@ public class CompressedSegmentedFile ext public CompressedSegmentedFile(String path, CompressionMetadata metadata) { - super(path, metadata.dataLength); + super(path, metadata.dataLength, metadata.compressedFileLength); this.metadata = metadata; } Modified: cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/io/util/SegmentedFile.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/io/util/SegmentedFile.java?rev=1181094&r1=1181093&r2=1181094&view=diff ============================================================================== --- cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/io/util/SegmentedFile.java (original) +++ cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/io/util/SegmentedFile.java Mon Oct 10 17:48:56 2011 @@ -42,13 +42,23 @@ public abstract class SegmentedFile public final String path; public final long length; + // This differs from length for compressed files (but we still need length for + // SegmentIterator because offsets in the file are relative to the uncompressed size) + public final long onDiskLength; + /** * Use getBuilder to get a Builder to construct a SegmentedFile. */ SegmentedFile(String path, long length) { + this(path, length, length); + } + + protected SegmentedFile(String path, long length, long onDiskLength) + { this.path = path; this.length = length; + this.onDiskLength = onDiskLength; } /**