本文整理汇总了Java中org.apache.cassandra.metrics.CompactionMetrics类的典型用法代码示例。如果您正苦于以下问题:Java CompactionMetrics类的具体用法?Java CompactionMetrics怎么用?Java CompactionMetrics使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
CompactionMetrics类属于org.apache.cassandra.metrics包,在下文中一共展示了CompactionMetrics类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: close
import org.apache.cassandra.metrics.CompactionMetrics; //导入依赖的package包/类
@SuppressWarnings("resource") // We make sure to close mergedIterator in close() and CompactionIterator is itself an AutoCloseable
public CompactionIterator(OperationType type, List<ISSTableScanner> scanners, CompactionController controller, int nowInSec, UUID compactionId, CompactionMetrics metrics)
{
this.controller = controller;
this.type = type;
this.scanners = scanners;
this.nowInSec = nowInSec;
this.compactionId = compactionId;
this.bytesRead = 0;
long bytes = 0;
for (ISSTableScanner scanner : scanners)
bytes += scanner.getLengthInBytes();
this.totalBytes = bytes;
this.mergeCounters = new long[scanners.size()];
this.metrics = metrics;
if (metrics != null)
metrics.beginCompaction(this);
UnfilteredPartitionIterator merged = scanners.isEmpty()
? EmptyIterators.unfilteredPartition(controller.cfs.metadata, false)
: UnfilteredPartitionIterators.merge(scanners, nowInSec, listener());
boolean isForThrift = merged.isForThrift(); // to stop capture of iterator in Purger, which is confusing for debug
this.compacted = Transformation.apply(merged, new Purger(isForThrift, controller, nowInSec));
}
开发者ID:scylladb,项目名称:scylla-tools-java,代码行数:27,代码来源:CompactionIterator.java
示例2: afterTest
import org.apache.cassandra.metrics.CompactionMetrics; //导入依赖的package包/类
@After
public void afterTest()
{
for (CompactionInfo.Holder holder: CompactionMetrics.getCompactions())
{
holder.stop();
}
String ksname = KEYSPACE1;
String cfname = CF_STANDARDLOWiINTERVAL; // index interval of 8, no key caching
Keyspace keyspace = Keyspace.open(ksname);
ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(cfname);
cfs.metadata.minIndexInterval(originalMinIndexInterval);
cfs.metadata.maxIndexInterval(originalMaxIndexInterval);
IndexSummaryManager.instance.setMemoryPoolCapacityInMB(originalCapacity);
}
开发者ID:scylladb,项目名称:scylla-tools-java,代码行数:17,代码来源:IndexSummaryManagerTest.java
示例3: getCompactions
import org.apache.cassandra.metrics.CompactionMetrics; //导入依赖的package包/类
public List<Map<String, String>> getCompactions()
{
List<Holder> compactionHolders = CompactionMetrics.getCompactions();
List<Map<String, String>> out = new ArrayList<Map<String, String>>(compactionHolders.size());
for (CompactionInfo.Holder ci : compactionHolders)
out.add(ci.getCompactionInfo().asMap());
return out;
}
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:9,代码来源:CompactionManager.java
示例4: getCompactionSummary
import org.apache.cassandra.metrics.CompactionMetrics; //导入依赖的package包/类
public List<String> getCompactionSummary()
{
List<Holder> compactionHolders = CompactionMetrics.getCompactions();
List<String> out = new ArrayList<String>(compactionHolders.size());
for (CompactionInfo.Holder ci : compactionHolders)
out.add(ci.getCompactionInfo().toString());
return out;
}
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:9,代码来源:CompactionManager.java
示例5: stopCompaction
import org.apache.cassandra.metrics.CompactionMetrics; //导入依赖的package包/类
public void stopCompaction(String type)
{
OperationType operation = OperationType.valueOf(type);
for (Holder holder : CompactionMetrics.getCompactions())
{
if (holder.getCompactionInfo().getTaskType() == operation)
holder.stop();
}
}
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:10,代码来源:CompactionManager.java
示例6: forceShutdown
import org.apache.cassandra.metrics.CompactionMetrics; //导入依赖的package包/类
/**
* Shutdowns both compaction and validation executors, cancels running compaction / validation,
* and waits for tasks to complete if tasks were not cancelable.
*/
public void forceShutdown()
{
// shutdown executors to prevent further submission
executor.shutdown();
validationExecutor.shutdown();
// interrupt compactions and validations
for (Holder compactionHolder : CompactionMetrics.getCompactions())
{
compactionHolder.stop();
}
// wait for tasks to terminate
// compaction tasks are interrupted above, so it shuold be fairy quick
// until not interrupted tasks to complete.
for (ExecutorService exec : Arrays.asList(executor, validationExecutor))
{
try
{
exec.awaitTermination(1, TimeUnit.MINUTES);
}
catch (InterruptedException e)
{
logger.error("Interrupted while waiting for tasks to be terminated", e);
}
}
}
开发者ID:scylladb,项目名称:scylla-tools-java,代码行数:32,代码来源:CompactionManager.java
示例7: stopCompactionById
import org.apache.cassandra.metrics.CompactionMetrics; //导入依赖的package包/类
public void stopCompactionById(String compactionId)
{
for (Holder holder : CompactionMetrics.getCompactions())
{
UUID holderId = holder.getCompactionInfo().compactionId();
if (holderId != null && holderId.equals(UUID.fromString(compactionId)))
holder.stop();
}
}
开发者ID:scylladb,项目名称:scylla-tools-java,代码行数:10,代码来源:CompactionManager.java
示例8: CompactionManager
import org.apache.cassandra.metrics.CompactionMetrics; //导入依赖的package包/类
public CompactionManager(APIClient client) {
super(MBEAN_OBJECT_NAME, client, new CompactionMetrics());
}
开发者ID:scylladb,项目名称:scylla-jmx,代码行数:4,代码来源:CompactionManager.java
示例9: getActiveCompactions
import org.apache.cassandra.metrics.CompactionMetrics; //导入依赖的package包/类
public int getActiveCompactions()
{
return CompactionMetrics.getCompactions().size();
}
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:5,代码来源:CompactionManager.java
示例10: ValidationCompactionIterator
import org.apache.cassandra.metrics.CompactionMetrics; //导入依赖的package包/类
public ValidationCompactionIterator(List<ISSTableScanner> scanners, ValidationCompactionController controller, int nowInSec, CompactionMetrics metrics)
{
super(OperationType.VALIDATION, scanners, controller, nowInSec, UUIDGen.getTimeUUID(), metrics);
}
开发者ID:scylladb,项目名称:scylla-tools-java,代码行数:5,代码来源:CompactionManager.java
示例11: testCancelIndex
import org.apache.cassandra.metrics.CompactionMetrics; //导入依赖的package包/类
@Test
public void testCancelIndex() throws Exception
{
String ksname = KEYSPACE1;
String cfname = CF_STANDARDLOWiINTERVAL; // index interval of 8, no key caching
Keyspace keyspace = Keyspace.open(ksname);
final ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(cfname);
final int numSSTables = 4;
int numRows = 256;
createSSTables(ksname, cfname, numSSTables, numRows);
final List<SSTableReader> sstables = new ArrayList<>(cfs.getLiveSSTables());
for (SSTableReader sstable : sstables)
sstable.overrideReadMeter(new RestorableMeter(100.0, 100.0));
final long singleSummaryOffHeapSpace = sstables.get(0).getIndexSummaryOffHeapSize();
// everything should get cut in half
final AtomicReference<CompactionInterruptedException> exception = new AtomicReference<>();
Thread t = new Thread(new Runnable()
{
public void run()
{
try
{
// Don't leave enough space for even the minimal index summaries
try (LifecycleTransaction txn = cfs.getTracker().tryModify(sstables, OperationType.UNKNOWN))
{
redistributeSummaries(Collections.EMPTY_LIST, of(cfs.metadata.cfId, txn), singleSummaryOffHeapSpace);
}
}
catch (CompactionInterruptedException ex)
{
exception.set(ex);
}
catch (IOException ignored)
{
}
}
});
t.start();
while (CompactionManager.instance.getActiveCompactions() == 0 && t.isAlive())
Thread.sleep(1);
CompactionManager.instance.stopCompaction("INDEX_SUMMARY");
t.join();
assertNotNull("Expected compaction interrupted exception", exception.get());
assertTrue("Expected no active compactions", CompactionMetrics.getCompactions().isEmpty());
Set<SSTableReader> beforeRedistributionSSTables = new HashSet<>(sstables);
Set<SSTableReader> afterCancelSSTables = new HashSet<>(cfs.getLiveSSTables());
Set<SSTableReader> disjoint = Sets.symmetricDifference(beforeRedistributionSSTables, afterCancelSSTables);
assertTrue(String.format("Mismatched files before and after cancelling redistribution: %s",
Joiner.on(",").join(disjoint)),
disjoint.isEmpty());
validateData(cfs, numRows);
}
开发者ID:scylladb,项目名称:scylla-tools-java,代码行数:60,代码来源:IndexSummaryManagerTest.java
注:本文中的org.apache.cassandra.metrics.CompactionMetrics类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论