Search in sources :

Example 1 with SegmentedFile

use of org.apache.cassandra.io.util.SegmentedFile in project eiger by wlloyd.

the class SSTableWriter method closeAndOpenReader.

public SSTableReader closeAndOpenReader(long maxDataAge) throws IOException {
    // index and filter
    iwriter.close();
    // main data, close will truncate if necessary
    dataFile.close();
    // write sstable statistics
    SSTableMetadata sstableMetadata = sstableMetadataCollector.finalizeMetadata(partitioner.getClass().getCanonicalName());
    writeMetadata(descriptor, sstableMetadata);
    maybeWriteDigest();
    // remove the 'tmp' marker from all components
    final Descriptor newdesc = rename(descriptor, components);
    // finalize in-memory state for the reader
    SegmentedFile ifile = iwriter.builder.complete(newdesc.filenameFor(SSTable.COMPONENT_INDEX));
    SegmentedFile dfile = dbuilder.complete(newdesc.filenameFor(SSTable.COMPONENT_DATA));
    SSTableReader sstable = SSTableReader.internalOpen(newdesc, components, metadata, partitioner, ifile, dfile, iwriter.summary, iwriter.bf, maxDataAge, sstableMetadata);
    sstable.first = getMinimalKey(first);
    sstable.last = getMinimalKey(last);
    iwriter = null;
    dbuilder = null;
    return sstable;
}
Also used : SegmentedFile(org.apache.cassandra.io.util.SegmentedFile) DatabaseDescriptor(org.apache.cassandra.config.DatabaseDescriptor)

Aggregations

DatabaseDescriptor (org.apache.cassandra.config.DatabaseDescriptor)1 SegmentedFile (org.apache.cassandra.io.util.SegmentedFile)1