本文整理汇总了Java中org.apache.cassandra.db.SystemKeyspace.savePaxosProposal方法的典型用法代码示例。如果您正苦于以下问题:Java SystemKeyspace.savePaxosProposal方法的具体用法?Java SystemKeyspace.savePaxosProposal怎么用?Java SystemKeyspace.savePaxosProposal使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.cassandra.db.SystemKeyspace
的用法示例。
在下文中一共展示了SystemKeyspace.savePaxosProposal方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: propose
import org.apache.cassandra.db.SystemKeyspace; //导入方法依赖的package包/类
public static Boolean propose(Commit proposal)
{
synchronized (lockFor(proposal.key))
{
PaxosState state = SystemKeyspace.loadPaxosState(proposal.key, proposal.update.metadata());
if (proposal.hasBallot(state.promised.ballot) || proposal.isAfter(state.promised))
{
Tracing.trace("Accepting proposal {}", proposal);
SystemKeyspace.savePaxosProposal(proposal);
return true;
}
else
{
Tracing.trace("Rejecting proposal for {} because inProgress is now {}", proposal, state.promised);
return false;
}
}
}
示例2: propose
import org.apache.cassandra.db.SystemKeyspace; //导入方法依赖的package包/类
public static Boolean propose(Commit proposal)
{
Lock lock = LOCKS.get(proposal.key);
lock.lock();
try
{
PaxosState state = SystemKeyspace.loadPaxosState(proposal.key, proposal.update.metadata());
if (proposal.hasBallot(state.promised.ballot) || proposal.isAfter(state.promised))
{
Tracing.trace("Accepting proposal {}", proposal);
SystemKeyspace.savePaxosProposal(proposal);
return true;
}
else
{
Tracing.trace("Rejecting proposal for {} because inProgress is now {}", proposal, state.promised);
return false;
}
}
finally
{
lock.unlock();
}
}