public class MetadataSerializer extends java.lang.Object implements IMetadataSerializer
version >= 'na'
.
File format := | number of components (4 bytes) | crc | toc | crc | component1 | c1 crc | component2 | c2 crc | ... | toc := | component type (4 bytes) | position of component |IMetadataComponent.Type's ordinal() defines the order of serialization.
Constructor and Description |
---|
MetadataSerializer() |
Modifier and Type | Method and Description |
---|---|
java.util.Map<MetadataType,MetadataComponent> |
deserialize(Descriptor descriptor,
java.util.EnumSet<MetadataType> types)
Deserialize specified metadata components from given descriptor.
|
java.util.Map<MetadataType,MetadataComponent> |
deserialize(Descriptor descriptor,
FileDataInput in,
java.util.EnumSet<MetadataType> selectedTypes) |
MetadataComponent |
deserialize(Descriptor descriptor,
MetadataType type)
Deserialized only metadata component specified from given descriptor.
|
void |
mutate(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 use
SSTableReader.mutateLevelAndReload(int) instead on live sstable. |
void |
mutateLevel(Descriptor descriptor,
int newLevel)
Mutate SSTable level
NOTE: mutating stats metadata of a live sstable will race with entire-sstable-streaming, please use
SSTableReader.mutateLevelAndReload(int) instead on live sstable. |
void |
mutateRepairMetadata(Descriptor descriptor,
long newRepairedAt,
java.util.UUID newPendingRepair,
boolean isTransient)
Mutate the repairedAt time, pendingRepair ID, and transient status.
|
void |
rewriteSSTableMetadata(Descriptor descriptor,
java.util.Map<MetadataType,MetadataComponent> currentComponents)
Replace the sstable metadata file (
-Statistics.db ) with the given components. |
void |
serialize(java.util.Map<MetadataType,MetadataComponent> components,
DataOutputPlus out,
Version version)
Serialize given metadata components
|
public void serialize(java.util.Map<MetadataType,MetadataComponent> components, DataOutputPlus out, Version version) throws java.io.IOException
IMetadataSerializer
serialize
in interface IMetadataSerializer
components
- Metadata components to serializejava.io.IOException
public java.util.Map<MetadataType,MetadataComponent> deserialize(Descriptor descriptor, java.util.EnumSet<MetadataType> types) throws java.io.IOException
IMetadataSerializer
deserialize
in interface IMetadataSerializer
descriptor
- SSTable descriptorjava.io.IOException
public MetadataComponent deserialize(Descriptor descriptor, MetadataType type) throws java.io.IOException
IMetadataSerializer
deserialize
in interface IMetadataSerializer
descriptor
- SSTable descriptortype
- Metadata component type to deserializejava.io.IOException
public java.util.Map<MetadataType,MetadataComponent> deserialize(Descriptor descriptor, FileDataInput in, java.util.EnumSet<MetadataType> selectedTypes) throws java.io.IOException
java.io.IOException
public void mutate(Descriptor descriptor, java.lang.String description, java.util.function.UnaryOperator<StatsMetadata> transform) throws java.io.IOException
IMetadataSerializer
SSTableReader.mutateLevelAndReload(int)
instead on live sstable.mutate
in interface IMetadataSerializer
descriptor
- SSTable descriptordescription
- on changed attributionstransform
- function to mutate sstable metadatajava.io.IOException
public void mutateLevel(Descriptor descriptor, int newLevel) throws java.io.IOException
IMetadataSerializer
SSTableReader.mutateLevelAndReload(int)
instead on live sstable.mutateLevel
in interface IMetadataSerializer
descriptor
- SSTable descriptornewLevel
- new SSTable leveljava.io.IOException
public void mutateRepairMetadata(Descriptor descriptor, long newRepairedAt, java.util.UUID newPendingRepair, boolean isTransient) throws java.io.IOException
IMetadataSerializer
SSTableReader.mutateLevelAndReload(int)
instead on live sstable.mutateRepairMetadata
in interface IMetadataSerializer
java.io.IOException
public void rewriteSSTableMetadata(Descriptor descriptor, java.util.Map<MetadataType,MetadataComponent> currentComponents) throws java.io.IOException
IMetadataSerializer
-Statistics.db
) with the given components.rewriteSSTableMetadata
in interface IMetadataSerializer
java.io.IOException
Copyright © 2009-2021 The Apache Software Foundation