@ Override public void serialize ( Map < MetadataType , MetadataComponent > components , DataOutputPlus out ) throws IOException { ValidationMetadata validation = ( ValidationMetadata ) components . get ( MetadataType . VALIDATION ) ; StatsMetadata stats = ( StatsMetadata ) components . get ( MetadataType . STATS ) ; CompactionMetadata compaction = ( CompactionMetadata ) components . get ( MetadataType . COMPACTION ) ; assert validation != null && stats != null && compaction != null && validation . partitioner != null ; EstimatedHistogram . serializer . serialize ( stats . estimatedRowSize , out ) ; EstimatedHistogram . serializer . serialize ( stats . estimatedColumnCount , out ) ; ReplayPosition . serializer . serialize ( stats . replayPosition , out ) ; out . writeLong ( stats . minTimestamp ) ; out . writeLong ( stats . maxTimestamp ) ; out . writeInt ( stats . maxLocalDeletionTime ) ; out . writeDouble ( validation . bloomFilterFPChance ) ; out . writeDouble ( stats . compressionRatio ) ; out . writeUTF ( validation . partitioner ) ; out . writeInt ( compaction . ancestors . size ( ) ) ; for ( Integer g : compaction . ancestors ) out . writeInt ( g ) ; StreamingHistogram . serializer . serialize ( stats . estimatedTombstoneDropTime , out ) ; out . writeInt ( stats . sstableLevel ) ; out . writeInt ( stats . minColumnNames . size ( ) ) ; for ( ByteBuffer columnName : stats . minColumnNames ) ByteBufferUtil . writeWithShortLength ( columnName , out ) ; out . writeInt ( stats . maxColumnNames . size ( ) ) ; for ( ByteBuffer columnName : stats . maxColumnNames ) ByteBufferUtil . writeWithShortLength ( columnName , out ) ; }
Legacy serialization is only used for SSTable level reset .