No problem... It just catched my attention ;)

Keep on coding,
Norman

2011/10/10 Sylvain Lebresne <sylv...@datastax.com>:
> On Mon, Oct 10, 2011 at 4:03 PM, Norman Maurer
> <norman.mau...@googlemail.com> 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  <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