Interface IMetadataSerializer
-
- All Known Implementing Classes:
MetadataSerializer
public interface IMetadataSerializerInterface for SSTable metadata serializer
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.util.Map<MetadataType,MetadataComponent>deserialize(Descriptor descriptor, java.util.EnumSet<MetadataType> types)Deserialize specified metadata components from given descriptor.MetadataComponentdeserialize(Descriptor descriptor, MetadataType type)Deserialized only metadata component specified from given descriptor.voidmutate(Descriptor descriptor, java.lang.String description, java.util.function.UnaryOperator<StatsMetadata> transform)Mutate SSTable Metadata NOTE: mutating stats metadata of a live sstable will race with entire-sstable-streaming, please useSSTableReader.mutateLevelAndReload(int)instead on live sstable.voidmutateLevel(Descriptor descriptor, int newLevel)Mutate SSTable level NOTE: mutating stats metadata of a live sstable will race with entire-sstable-streaming, please useSSTableReader.mutateLevelAndReload(int)instead on live sstable.voidmutateRepairMetadata(Descriptor descriptor, long newRepairedAt, TimeUUID newPendingRepair, boolean isTransient)Mutate the repairedAt time, pendingRepair ID, and transient status.voidrewriteSSTableMetadata(Descriptor descriptor, java.util.Map<MetadataType,MetadataComponent> currentComponents)Replace the sstable metadata file (-Statistics.db) with the given components.voidserialize(java.util.Map<MetadataType,MetadataComponent> components, DataOutputPlus out, Version version)Serialize given metadata components
-
-
-
Method Detail
-
serialize
void serialize(java.util.Map<MetadataType,MetadataComponent> components, DataOutputPlus out, Version version) throws java.io.IOException
Serialize given metadata components- Parameters:
components- Metadata components to serializeout-version-- Throws:
java.io.IOException
-
deserialize
java.util.Map<MetadataType,MetadataComponent> deserialize(Descriptor descriptor, java.util.EnumSet<MetadataType> types) throws java.io.IOException
Deserialize specified metadata components from given descriptor.- Parameters:
descriptor- SSTable descriptor- Returns:
- Deserialized metadata components, in deserialized order.
- Throws:
java.io.IOException
-
deserialize
MetadataComponent deserialize(Descriptor descriptor, MetadataType type) throws java.io.IOException
Deserialized only metadata component specified from given descriptor.- Parameters:
descriptor- SSTable descriptortype- Metadata component type to deserialize- Returns:
- Deserialized metadata component. Can be null if specified type does not exist.
- Throws:
java.io.IOException
-
mutate
void mutate(Descriptor descriptor, java.lang.String description, java.util.function.UnaryOperator<StatsMetadata> transform) throws java.io.IOException
Mutate SSTable Metadata NOTE: mutating stats metadata of a live sstable will race with entire-sstable-streaming, please useSSTableReader.mutateLevelAndReload(int)instead on live sstable.- Parameters:
descriptor- SSTable descriptordescription- on changed attributionstransform- function to mutate sstable metadata- Throws:
java.io.IOException
-
mutateLevel
void mutateLevel(Descriptor descriptor, int newLevel) throws java.io.IOException
Mutate SSTable level NOTE: mutating stats metadata of a live sstable will race with entire-sstable-streaming, please useSSTableReader.mutateLevelAndReload(int)instead on live sstable.- Parameters:
descriptor- SSTable descriptornewLevel- new SSTable level- Throws:
java.io.IOException
-
mutateRepairMetadata
void mutateRepairMetadata(Descriptor descriptor, long newRepairedAt, TimeUUID newPendingRepair, boolean isTransient) throws java.io.IOException
Mutate the repairedAt time, pendingRepair ID, and transient status. NOTE: mutating stats metadata of a live sstable will race with entire-sstable-streaming, please useSSTableReader.mutateLevelAndReload(int)instead on live sstable.- Throws:
java.io.IOException
-
rewriteSSTableMetadata
void rewriteSSTableMetadata(Descriptor descriptor, java.util.Map<MetadataType,MetadataComponent> currentComponents) throws java.io.IOException
Replace the sstable metadata file (-Statistics.db) with the given components.- Throws:
java.io.IOException
-
-