THX schubert. On Thu, May 6, 2010 at 6:56 AM, Jonathan Ellis <jbel...@gmail.com> wrote:
> Yes, this is a bug. Patch attached to > https://issues.apache.org/jira/browse/CASSANDRA-1056 > > On Wed, May 5, 2010 at 2:09 AM, 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 > > > > > > -- > Jonathan Ellis > Project Chair, Apache Cassandra > co-founder of Riptano, the source for professional Cassandra support > http://riptano.com > -- Best Regards Anty Rao