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