• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java CompactionMetrics类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了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;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Property类代码示例发布时间:2022-05-22
下一篇:
Java FsyncRequestProto类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap