Include dev@cassandra.apache.org

On Wed, May 5, 2010 at 3:09 PM, Anty <anty....@gmail.com> wrote:

> HI:All
>
> In source code of 0.6.1 ,in SSTableWriter,
> private void afterAppend(DecoratedKey decoratedKey, long dataPosition, int
> dataSize) throws IOException
>     {
>         String diskKey = partitioner.convertToDiskFormat(decoratedKey);
>         bf.add(diskKey);
>         lastWrittenKey = decoratedKey;
>         long indexPosition = indexFile.getFilePointer();
>         indexFile.writeUTF(diskKey);
>         indexFile.writeLong(dataPosition);
>         if (logger.isTraceEnabled())
>             logger.trace("wrote " + decoratedKey + " at " + dataPosition);
>         if (logger.isTraceEnabled())
>             logger.trace("wrote index of " + decoratedKey + " at " +
> indexPosition);
>
>         indexSummary.maybeAddEntry(decoratedKey, dataPosition, dataSize,
> indexPosition, indexFile.getFilePointer());
>     }
> the value of "dataSize" is the length of value( column family) ,not
> including the length of key.
>
> but in  the method  loadIndexFile() of SStableReader
> ...
>     else
>                 {
>                     input.readUTF();
>                     nextDataPosition = input.readLong();
>                     input.seek(nextIndexPosition);
>                 }
>                 indexSummary.maybeAddEntry(decoratedKey, dataPosition, 
> nextDataPosition
> - dataPosition, indexPosition, nextIndexPosition);
>             }
>             indexSummary.complete();
>
>
> the value of nextDataPosition - dataPosition is the length of key and
> value ,not just the length of value .
>
>
> the values above two are different,   is it a bug?
>
> --
> Best Regards
> Anty Rao
>

Reply via email to