Hi there,

did you alter the snappy-java version by mistake or was this part of
the commit ?

Bye,
Norman


2011/10/10  <slebre...@apache.org>:
> Author: slebresne
> Date: Mon Oct 10 13:56:27 2011
> New Revision: 1180970
>
> URL: http://svn.apache.org/viewvc?rev=1180970&view=rev
> Log:
> Fix places where uncompressed sstable size is used in place of the compressed 
> one.
> patch by slebresne; reviewed by jbellis for CASSANDRA-3338
>
> Modified:
>    cassandra/branches/cassandra-1.0.0/CHANGES.txt
>    cassandra/branches/cassandra-1.0.0/build.xml
>    
> cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
>    
> cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
>    
> cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategy.java
>    
> cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/io/sstable/SSTable.java
>    
> cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
>    
> cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/io/util/CompressedSegmentedFile.java
>    
> cassandra/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/CHANGES.txt?rev=1180970&r1=1180969&r2=1180970&view=diff
> ==============================================================================
> --- 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 @@
>  * 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.0/build.xml
> URL: 
> http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/build.xml?rev=1180970&r1=1180969&r2=1180970&view=diff
> ==============================================================================
> --- cassandra/branches/cassandra-1.0.0/build.xml (original)
> +++ cassandra/branches/cassandra-1.0.0/build.xml Mon Oct 10 13:56:27 2011
> @@ -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.0/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
> URL: 
> http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/db/ColumnFamilyStore.java?rev=1180970&r1=1180969&r2=1180970&view=diff
> ==============================================================================
> --- 
> 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
>         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.0/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
> URL: 
> http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/db/compaction/CompactionManager.java?rev=1180970&r1=1180969&r2=1180970&view=diff
> ==============================================================================
> --- 
> 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
>         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.0/src/java/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategy.java
> URL: 
> http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategy.java?rev=1180970&r1=1180969&r2=1180970&view=diff
> ==============================================================================
> --- 
> 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
>     {
>         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.0/src/java/org/apache/cassandra/io/sstable/SSTable.java
> URL: 
> http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/io/sstable/SSTable.java?rev=1180970&r1=1180969&r2=1180970&view=diff
> ==============================================================================
> --- 
> 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
>         long sum = 0;
>         for (SSTableReader sstable : sstables)
>         {
> -            sum += sstable.length();
> +            sum += sstable.onDiskLength();
>         }
>         return sum;
>     }
>
> Modified: 
> cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
> URL: 
> http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/io/sstable/SSTableReader.java?rev=1180970&r1=1180969&r2=1180970&view=diff
> ==============================================================================
> --- 
> 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
>             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.0/src/java/org/apache/cassandra/io/util/CompressedSegmentedFile.java
> URL: 
> http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/io/util/CompressedSegmentedFile.java?rev=1180970&r1=1180969&r2=1180970&view=diff
> ==============================================================================
> --- 
> 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
>
>     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.0/src/java/org/apache/cassandra/io/util/SegmentedFile.java
> URL: 
> http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/io/util/SegmentedFile.java?rev=1180970&r1=1180969&r2=1180970&view=diff
> ==============================================================================
> --- 
> 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
>     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;
>     }
>
>     /**
>
>
>

Reply via email to