本文整理汇总了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;
}
示例2: BatchCommitLogService
import org.apache.cassandra.config.DatabaseDescriptor; //导入方法依赖的package包/类
public BatchCommitLogService(CommitLog commitLog)
{
super(commitLog, "COMMIT-LOG-WRITER", (int) DatabaseDescriptor.getCommitLogSyncBatchWindow());
}