本文整理汇总了Java中org.apache.cassandra.io.sstable.metadata.MetadataType类的典型用法代码示例。如果您正苦于以下问题:Java MetadataType类的具体用法?Java MetadataType怎么用?Java MetadataType使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
MetadataType类属于org.apache.cassandra.io.sstable.metadata包,在下文中一共展示了MetadataType类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: writeMetadata
import org.apache.cassandra.io.sstable.metadata.MetadataType; //导入依赖的package包/类
private static void writeMetadata(Descriptor desc, Map<MetadataType, MetadataComponent> components)
{
SequentialWriter out = SequentialWriter.open(new File(desc.filenameFor(Component.STATS)));
try
{
desc.getMetadataSerializer().serialize(components, out.stream);
}
catch (IOException e)
{
throw new FSWriteError(e, out.getPath());
}
finally
{
out.close();
}
}
示例2: close
import org.apache.cassandra.io.sstable.metadata.MetadataType; //导入依赖的package包/类
private Pair<Descriptor, StatsMetadata> close(long repairedAt)
{
// index and filter
iwriter.close();
// main data, close will truncate if necessary
dataFile.close();
dataFile.writeFullChecksum(descriptor);
// write sstable statistics
Map<MetadataType, MetadataComponent> metadataComponents = sstableMetadataCollector.finalizeMetadata(
partitioner.getClass().getCanonicalName(),
metadata.getBloomFilterFpChance(),
repairedAt);
writeMetadata(descriptor, metadataComponents);
// save the table of components
SSTable.appendTOC(descriptor, components);
// remove the 'tmp' marker from all components
return Pair.create(rename(descriptor, components), (StatsMetadata) metadataComponents.get(MetadataType.STATS));
}
示例3: close
import org.apache.cassandra.io.sstable.metadata.MetadataType; //导入依赖的package包/类
public Pair<Descriptor, StatsMetadata> close()
{
// index and filter
iwriter.close();
// main data, close will truncate if necessary
dataFile.close();
// write sstable statistics
Map<MetadataType, MetadataComponent> metadataComponents = sstableMetadataCollector.finalizeMetadata(
partitioner.getClass().getCanonicalName(),
metadata.getBloomFilterFpChance());
writeMetadata(descriptor, metadataComponents);
// save the table of components
SSTable.appendTOC(descriptor, components);
// remove the 'tmp' marker from all components
return Pair.create(rename(descriptor, components), (StatsMetadata) metadataComponents.get(MetadataType.STATS));
}
示例4: writeMetadata
import org.apache.cassandra.io.sstable.metadata.MetadataType; //导入依赖的package包/类
private static void writeMetadata(Descriptor desc, Map<MetadataType, MetadataComponent> components)
{
SequentialWriter out = SequentialWriter.open(new File(desc.filenameFor(Component.STATS)), true);
try
{
desc.getMetadataSerializer().serialize(components, out.stream);
}
catch (IOException e)
{
throw new FSWriteError(e, out.getPath());
}
finally
{
out.close();
}
}
示例5: close
import org.apache.cassandra.io.sstable.metadata.MetadataType; //导入依赖的package包/类
private Pair<Descriptor, StatsMetadata> close(long repairedAt)
{
dataFile.writeFullChecksum(descriptor);
// index and filter
iwriter.close();
// main data, close will truncate if necessary
dataFile.close();
// write sstable statistics
Map<MetadataType, MetadataComponent> metadataComponents = sstableMetadataCollector.finalizeMetadata(
partitioner.getClass().getCanonicalName(),
metadata.getBloomFilterFpChance(),
repairedAt);
writeMetadata(descriptor, metadataComponents);
// save the table of components
SSTable.appendTOC(descriptor, components);
// remove the 'tmp' marker from all components
return Pair.create(rename(descriptor, components), (StatsMetadata) metadataComponents.get(MetadataType.STATS));
}
示例6: newPartitioner
import org.apache.cassandra.io.sstable.metadata.MetadataType; //导入依赖的package包/类
/**
* Create a new instance of a partitioner defined in an SSTable Descriptor
* @param desc Descriptor of an sstable
* @return a new IPartitioner instance
* @throws IOException
*/
public static IPartitioner newPartitioner(Descriptor desc) throws IOException
{
EnumSet<MetadataType> types = EnumSet.of(MetadataType.VALIDATION, MetadataType.HEADER);
Map<MetadataType, MetadataComponent> sstableMetadata = desc.getMetadataSerializer().deserialize(desc, types);
ValidationMetadata validationMetadata = (ValidationMetadata) sstableMetadata.get(MetadataType.VALIDATION);
SerializationHeader.Component header = (SerializationHeader.Component) sstableMetadata.get(MetadataType.HEADER);
return newPartitioner(validationMetadata.partitioner, Optional.of(header.getKeyType()));
}
示例7: writeMetadata
import org.apache.cassandra.io.sstable.metadata.MetadataType; //导入依赖的package包/类
private void writeMetadata(Descriptor desc, Map<MetadataType, MetadataComponent> components)
{
try (SequentialWriter out = new SequentialWriter(desc.filenameFor(Component.STATS), writerOption, desc.getConfiguration()))
{
desc.getMetadataSerializer().serialize(components, out, desc.version);
out.finish();
}
catch (IOException e)
{
throw new FSWriteError(e, desc.filenameFor(Component.STATS));
}
}
示例8: finalizeMetadata
import org.apache.cassandra.io.sstable.metadata.MetadataType; //导入依赖的package包/类
protected Map<MetadataType, MetadataComponent> finalizeMetadata()
{
return metadataCollector.finalizeMetadata(getPartitioner().getClass().getCanonicalName(),
metadata.params.bloomFilterFpChance,
repairedAt,
header);
}
示例9: close
import org.apache.cassandra.io.sstable.metadata.MetadataType; //导入依赖的package包/类
private Pair<Descriptor, StatsMetadata> close(FinishType type, long repairedAt)
{
switch (type)
{
case EARLY: case CLOSE: case NORMAL:
iwriter.close();
dataFile.close();
if (type == FinishType.CLOSE)
iwriter.bf.close();
}
// write sstable statistics
Map<MetadataType, MetadataComponent> metadataComponents ;
metadataComponents = sstableMetadataCollector
.finalizeMetadata(partitioner.getClass().getCanonicalName(),
metadata.getBloomFilterFpChance(),repairedAt);
// remove the 'tmp' marker from all components
Descriptor descriptor = this.descriptor;
if (type.isFinal)
{
dataFile.writeFullChecksum(descriptor);
writeMetadata(descriptor, metadataComponents);
// save the table of components
SSTable.appendTOC(descriptor, components);
descriptor = rename(descriptor, components);
}
return Pair.create(descriptor, (StatsMetadata) metadataComponents.get(MetadataType.STATS));
}
示例10: getAncestors
import org.apache.cassandra.io.sstable.metadata.MetadataType; //导入依赖的package包/类
public Set<Integer> getAncestors()
{
try
{
CompactionMetadata compactionMetadata = (CompactionMetadata) descriptor.getMetadataSerializer().deserialize(descriptor, MetadataType.COMPACTION);
return compactionMetadata.ancestors;
}
catch (IOException e)
{
SSTableReader.logOpenException(descriptor, e);
return Collections.emptySet();
}
}
示例11: writeMetadata
import org.apache.cassandra.io.sstable.metadata.MetadataType; //导入依赖的package包/类
private static void writeMetadata(Descriptor desc, Map<MetadataType, MetadataComponent> components)
{
File file = new File(desc.filenameFor(Component.STATS));
try (SequentialWriter out = SequentialWriter.open(file))
{
desc.getMetadataSerializer().serialize(components, out, desc.version);
out.setDescriptor(desc).finish();
}
catch (IOException e)
{
throw new FSWriteError(e, file.getPath());
}
}
示例12: getType
import org.apache.cassandra.io.sstable.metadata.MetadataType; //导入依赖的package包/类
public MetadataType getType()
{
return MetadataType.HEADER;
}
示例13: statsMetadata
import org.apache.cassandra.io.sstable.metadata.MetadataType; //导入依赖的package包/类
protected StatsMetadata statsMetadata()
{
return (StatsMetadata) finalizeMetadata().get(MetadataType.STATS);
}
示例14: main
import org.apache.cassandra.io.sstable.metadata.MetadataType; //导入依赖的package包/类
/**
* @param args a list of sstables whose metadata we are changing
*/
public static void main(String[] args) throws IOException
{
PrintStream out = System.out;
if (args.length == 0)
{
out.println("This command should be run with Cassandra stopped!");
out.println("Usage: sstablelevelreset <keyspace> <columnfamily>");
System.exit(1);
}
if (!args[0].equals("--really-reset") || args.length != 3)
{
out.println("This command should be run with Cassandra stopped, otherwise you will get very strange behavior");
out.println("Verify that Cassandra is not running and then execute the command like this:");
out.println("Usage: sstablelevelreset --really-reset <keyspace> <columnfamily>");
System.exit(1);
}
// TODO several daemon threads will run from here.
// So we have to explicitly call System.exit.
try
{
// load keyspace descriptions.
DatabaseDescriptor.loadSchemas();
String keyspaceName = args[1];
String columnfamily = args[2];
// validate columnfamily
if (Schema.instance.getCFMetaData(keyspaceName, columnfamily) == null)
{
System.err.println("ColumnFamily not found: " + keyspaceName + "/" + columnfamily);
System.exit(1);
}
Keyspace keyspace = Keyspace.openWithoutSSTables(keyspaceName);
ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(columnfamily);
boolean foundSSTable = false;
for (Map.Entry<Descriptor, Set<Component>> sstable : cfs.directories.sstableLister().list().entrySet())
{
if (sstable.getValue().contains(Component.STATS))
{
foundSSTable = true;
Descriptor descriptor = sstable.getKey();
StatsMetadata metadata = (StatsMetadata) descriptor.getMetadataSerializer().deserialize(descriptor, MetadataType.STATS);
if (metadata.sstableLevel > 0)
{
out.println("Changing level from " + metadata.sstableLevel + " to 0 on " + descriptor.filenameFor(Component.DATA));
descriptor.getMetadataSerializer().mutateLevel(descriptor, 0);
}
else
{
out.println("Skipped " + descriptor.filenameFor(Component.DATA) + " since it is already on level 0");
}
}
}
if (!foundSSTable)
{
out.println("Found no sstables, did you give the correct keyspace/columnfamily?");
}
}
catch (Throwable t)
{
JVMStabilityInspector.inspectThrowable(t);
t.printStackTrace();
System.exit(1);
}
System.exit(0);
}
示例15: main
import org.apache.cassandra.io.sstable.metadata.MetadataType; //导入依赖的package包/类
/**
* @param args a list of sstables whose metadata we are changing
*/
public static void main(String[] args)
{
PrintStream out = System.out;
if (args.length == 0)
{
out.println("This command should be run with Cassandra stopped!");
out.println("Usage: sstablelevelreset <keyspace> <table>");
System.exit(1);
}
if (!args[0].equals("--really-reset") || args.length != 3)
{
out.println("This command should be run with Cassandra stopped, otherwise you will get very strange behavior");
out.println("Verify that Cassandra is not running and then execute the command like this:");
out.println("Usage: sstablelevelreset --really-reset <keyspace> <table>");
System.exit(1);
}
Util.initDatabaseDescriptor();
// TODO several daemon threads will run from here.
// So we have to explicitly call System.exit.
try
{
// load keyspace descriptions.
Schema.instance.loadFromDiskForTool();
String keyspaceName = args[1];
String columnfamily = args[2];
// validate columnfamily
if (Schema.instance.getCFMetaData(keyspaceName, columnfamily) == null)
{
System.err.println("ColumnFamily not found: " + keyspaceName + "/" + columnfamily);
System.exit(1);
}
Keyspace keyspace = Keyspace.openWithoutSSTables(keyspaceName);
ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(columnfamily);
boolean foundSSTable = false;
for (Map.Entry<Descriptor, Set<Component>> sstable : cfs.getDirectories().sstableLister(Directories.OnTxnErr.THROW).list().entrySet())
{
if (sstable.getValue().contains(Component.STATS))
{
foundSSTable = true;
Descriptor descriptor = sstable.getKey();
StatsMetadata metadata = (StatsMetadata) descriptor.getMetadataSerializer().deserialize(descriptor, MetadataType.STATS);
if (metadata.sstableLevel > 0)
{
out.println("Changing level from " + metadata.sstableLevel + " to 0 on " + descriptor.filenameFor(Component.DATA));
descriptor.getMetadataSerializer().mutateLevel(descriptor, 0);
}
else
{
out.println("Skipped " + descriptor.filenameFor(Component.DATA) + " since it is already on level 0");
}
}
}
if (!foundSSTable)
{
out.println("Found no sstables, did you give the correct keyspace/table?");
}
}
catch (Throwable t)
{
JVMStabilityInspector.inspectThrowable(t);
t.printStackTrace();
System.exit(1);
}
System.exit(0);
}