当前位置: 首页>>代码示例>>Java>>正文


Java DatabaseDescriptor.getCommitLogSyncBatchWindow方法代码示例

本文整理汇总了Java中org.apache.cassandra.config.DatabaseDescriptor.getCommitLogSyncBatchWindow方法的典型用法代码示例。如果您正苦于以下问题:Java DatabaseDescriptor.getCommitLogSyncBatchWindow方法的具体用法?Java DatabaseDescriptor.getCommitLogSyncBatchWindow怎么用?Java DatabaseDescriptor.getCommitLogSyncBatchWindow使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.cassandra.config.DatabaseDescriptor的用法示例。


在下文中一共展示了DatabaseDescriptor.getCommitLogSyncBatchWindow方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: processWithSyncBatch

import org.apache.cassandra.config.DatabaseDescriptor; //导入方法依赖的package包/类
private boolean processWithSyncBatch() throws Exception
{
    CheaterFutureTask firstTask = queue.poll(100, TimeUnit.MILLISECONDS);
    if (firstTask == null)
        return false;
    if (!(firstTask.getRawCallable() instanceof CommitLog.LogRecordAdder))
    {
        firstTask.run();
        return true;
    }

    // attempt to do a bunch of LogRecordAdder ops before syncing
    // (this is a little clunky since there is no blocking peek method,
    //  so we have to break it into firstTask / extra tasks)
    incompleteTasks.clear();
    taskValues.clear();
    long start = System.nanoTime();
    long window = (long)(1000000 * DatabaseDescriptor.getCommitLogSyncBatchWindow());

    // it doesn't seem worth bothering future-izing the exception
    // since if a commitlog op throws, we're probably screwed anyway
    incompleteTasks.add(firstTask);
    taskValues.add(firstTask.getRawCallable().call());
    while (!queue.isEmpty()
           && queue.peek().getRawCallable() instanceof CommitLog.LogRecordAdder
           && System.nanoTime() - start < window)
    {
        CheaterFutureTask task = queue.remove();
        incompleteTasks.add(task);
        taskValues.add(task.getRawCallable().call());
    }

    // now sync and set the tasks' values (which allows thread calling get() to proceed)
    CommitLog.instance.sync();
    for (int i = 0; i < incompleteTasks.size(); i++)
    {
        incompleteTasks.get(i).set(taskValues.get(i));
    }
    return true;
}
 
开发者ID:pgaref,项目名称:ACaZoo,代码行数:41,代码来源:BatchCommitLogExecutorService.java

示例2: BatchCommitLogService

import org.apache.cassandra.config.DatabaseDescriptor; //导入方法依赖的package包/类
public BatchCommitLogService(CommitLog commitLog)
{
    super(commitLog, "COMMIT-LOG-WRITER", (int) DatabaseDescriptor.getCommitLogSyncBatchWindow());
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:5,代码来源:BatchCommitLogService.java


注:本文中的org.apache.cassandra.config.DatabaseDescriptor.getCommitLogSyncBatchWindow方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。