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


Java AbstractReplicationStrategy.getWriteResponseHandler方法代码示例

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


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

示例1: performWrite

import org.apache.cassandra.locator.AbstractReplicationStrategy; //导入方法依赖的package包/类
/**
 * Perform the write of a mutation given a WritePerformer.
 * Gather the list of write endpoints, apply locally and/or forward the mutation to
 * said write endpoint (deletaged to the actual WritePerformer) and wait for the
 * responses based on consistency level.
 *
 * @param mutation the mutation to be applied
 * @param consistency_level the consistency level for the write operation
 * @param performer the WritePerformer in charge of appliying the mutation
 * given the list of write endpoints (either standardWritePerformer for
 * standard writes or counterWritePerformer for counter writes).
 * @param callback an optional callback to be run if and when the write is
 * successful.
 */
public static AbstractWriteResponseHandler performWrite(IMutation mutation,
                                                        ConsistencyLevel consistency_level,
                                                        String localDataCenter,
                                                        WritePerformer performer,
                                                        Runnable callback,
                                                        WriteType writeType)
throws UnavailableException, OverloadedException
{
    String keyspaceName = mutation.getKeyspaceName();
    AbstractReplicationStrategy rs = Keyspace.open(keyspaceName).getReplicationStrategy();

    Token tk = StorageService.getPartitioner().getToken(mutation.key());
    List<InetAddress> naturalEndpoints = StorageService.instance.getNaturalEndpoints(keyspaceName, tk);
    Collection<InetAddress> pendingEndpoints = StorageService.instance.getTokenMetadata().pendingEndpointsFor(tk, keyspaceName);

    AbstractWriteResponseHandler responseHandler = rs.getWriteResponseHandler(naturalEndpoints, pendingEndpoints, consistency_level, callback, writeType);

    // exit early if we can't fulfill the CL at this time
    responseHandler.assureSufficientLiveNodes();

    performer.apply(mutation, Iterables.concat(naturalEndpoints, pendingEndpoints), responseHandler, localDataCenter, consistency_level);
    return responseHandler;
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:38,代码来源:StorageProxy.java

示例2: commitPaxos

import org.apache.cassandra.locator.AbstractReplicationStrategy; //导入方法依赖的package包/类
private static void commitPaxos(Commit proposal, ConsistencyLevel consistencyLevel) throws WriteTimeoutException
{
    Keyspace keyspace = Keyspace.open(proposal.update.metadata().ksName);

    Token tk = StorageService.getPartitioner().getToken(proposal.key);
    List<InetAddress> naturalEndpoints = StorageService.instance.getNaturalEndpoints(keyspace.getName(), tk);
    Collection<InetAddress> pendingEndpoints = StorageService.instance.getTokenMetadata().pendingEndpointsFor(tk, keyspace.getName());

    AbstractReplicationStrategy rs = keyspace.getReplicationStrategy();
    AbstractWriteResponseHandler responseHandler = rs.getWriteResponseHandler(naturalEndpoints, pendingEndpoints, consistencyLevel, null, WriteType.SIMPLE);

    MessageOut<Commit> message = new MessageOut<Commit>(MessagingService.Verb.PAXOS_COMMIT, proposal, Commit.serializer);
    for (InetAddress destination : Iterables.concat(naturalEndpoints, pendingEndpoints))
    {
        if (FailureDetector.instance.isAlive(destination))
            MessagingService.instance().sendRR(message, destination, responseHandler);
    }

    responseHandler.get();
}
 
开发者ID:pgaref,项目名称:ACaZoo,代码行数:21,代码来源:StorageProxy.java

示例3: performWrite

import org.apache.cassandra.locator.AbstractReplicationStrategy; //导入方法依赖的package包/类
/**
 * Perform the write of a mutation given a WritePerformer.
 * Gather the list of write endpoints, apply locally and/or forward the mutation to
 * said write endpoint (deletaged to the actual WritePerformer) and wait for the
 * responses based on consistency level.
 *
 * @param mutation the mutation to be applied
 * @param consistency_level the consistency level for the write operation
 * @param performer the WritePerformer in charge of appliying the mutation
 * given the list of write endpoints (either standardWritePerformer for
 * standard writes or counterWritePerformer for counter writes).
 * @param callback an optional callback to be run if and when the write is
 * successful.
 */
public static AbstractWriteResponseHandler performWrite(IMutation mutation,
                                                        ConsistencyLevel consistency_level,
                                                        String localDataCenter,
                                                        WritePerformer performer,
                                                        Runnable callback,
                                                        WriteType writeType)
throws UnavailableException, OverloadedException, IOException
{
    String table = mutation.getTable();
    AbstractReplicationStrategy rs = Table.open(table).getReplicationStrategy();

    Token tk = StorageService.getPartitioner().getToken(mutation.key());
    List<InetAddress> naturalEndpoints = StorageService.instance.getNaturalEndpoints(table, tk);
    Collection<InetAddress> pendingEndpoints = StorageService.instance.getTokenMetadata().pendingEndpointsFor(tk, table);

    AbstractWriteResponseHandler responseHandler = rs.getWriteResponseHandler(naturalEndpoints, pendingEndpoints, consistency_level, callback, writeType);

    // exit early if we can't fulfill the CL at this time
    responseHandler.assureSufficientLiveNodes();

    performer.apply(mutation, Iterables.concat(naturalEndpoints, pendingEndpoints), responseHandler, localDataCenter, consistency_level);
    return responseHandler;
}
 
开发者ID:dprguiuc,项目名称:Cassandra-Wasef,代码行数:38,代码来源:StorageProxy.java

示例4: commitPaxos

import org.apache.cassandra.locator.AbstractReplicationStrategy; //导入方法依赖的package包/类
private static void commitPaxos(Commit proposal, ConsistencyLevel consistencyLevel) throws WriteTimeoutException
{
    boolean shouldBlock = consistencyLevel != ConsistencyLevel.ANY;
    Keyspace keyspace = Keyspace.open(proposal.update.metadata().ksName);

    Token tk = StorageService.getPartitioner().getToken(proposal.key);
    List<InetAddress> naturalEndpoints = StorageService.instance.getNaturalEndpoints(keyspace.getName(), tk);
    Collection<InetAddress> pendingEndpoints = StorageService.instance.getTokenMetadata().pendingEndpointsFor(tk, keyspace.getName());

    AbstractWriteResponseHandler responseHandler = null;
    if (shouldBlock)
    {
        AbstractReplicationStrategy rs = keyspace.getReplicationStrategy();
        responseHandler = rs.getWriteResponseHandler(naturalEndpoints, pendingEndpoints, consistencyLevel, null, WriteType.SIMPLE);
    }

    MessageOut<Commit> message = new MessageOut<Commit>(MessagingService.Verb.PAXOS_COMMIT, proposal, Commit.serializer);
    for (InetAddress destination : Iterables.concat(naturalEndpoints, pendingEndpoints))
    {
        if (FailureDetector.instance.isAlive(destination))
        {
            if (shouldBlock)
                MessagingService.instance().sendRR(message, destination, responseHandler);
            else
                MessagingService.instance().sendOneWay(message, destination);
        }
    }

    if (shouldBlock)
        responseHandler.get();
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:32,代码来源:StorageProxy.java

示例5: wrapResponseHandler

import org.apache.cassandra.locator.AbstractReplicationStrategy; //导入方法依赖的package包/类
private static WriteResponseHandlerWrapper wrapResponseHandler(Mutation mutation, ConsistencyLevel consistency_level, WriteType writeType)
{
    AbstractReplicationStrategy rs = Keyspace.open(mutation.getKeyspaceName()).getReplicationStrategy();
    String keyspaceName = mutation.getKeyspaceName();
    Token tk = StorageService.getPartitioner().getToken(mutation.key());
    List<InetAddress> naturalEndpoints = StorageService.instance.getNaturalEndpoints(keyspaceName, tk);
    Collection<InetAddress> pendingEndpoints = StorageService.instance.getTokenMetadata().pendingEndpointsFor(tk, keyspaceName);
    AbstractWriteResponseHandler responseHandler = rs.getWriteResponseHandler(naturalEndpoints, pendingEndpoints, consistency_level, null, writeType);
    return new WriteResponseHandlerWrapper(responseHandler, mutation);
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:11,代码来源:StorageProxy.java

示例6: wrapResponseHandler

import org.apache.cassandra.locator.AbstractReplicationStrategy; //导入方法依赖的package包/类
private static WriteResponseHandlerWrapper wrapResponseHandler(RowMutation mutation, ConsistencyLevel consistency_level, WriteType writeType)
{
    AbstractReplicationStrategy rs = Keyspace.open(mutation.getKeyspaceName()).getReplicationStrategy();
    String keyspaceName = mutation.getKeyspaceName();
    Token tk = StorageService.getPartitioner().getToken(mutation.key());
    List<InetAddress> naturalEndpoints = StorageService.instance.getNaturalEndpoints(keyspaceName, tk);
    Collection<InetAddress> pendingEndpoints = StorageService.instance.getTokenMetadata().pendingEndpointsFor(tk, keyspaceName);
    AbstractWriteResponseHandler responseHandler = rs.getWriteResponseHandler(naturalEndpoints, pendingEndpoints, consistency_level, null, writeType);
    return new WriteResponseHandlerWrapper(responseHandler, mutation);
}
 
开发者ID:pgaref,项目名称:ACaZoo,代码行数:11,代码来源:StorageProxy.java

示例7: wrapResponseHandler

import org.apache.cassandra.locator.AbstractReplicationStrategy; //导入方法依赖的package包/类
private static WriteResponseHandlerWrapper wrapResponseHandler(RowMutation mutation, ConsistencyLevel consistency_level, WriteType writeType)
{
    AbstractReplicationStrategy rs = Table.open(mutation.getTable()).getReplicationStrategy();
    String table = mutation.getTable();
    Token tk = StorageService.getPartitioner().getToken(mutation.key());
    List<InetAddress> naturalEndpoints = StorageService.instance.getNaturalEndpoints(table, tk);
    Collection<InetAddress> pendingEndpoints = StorageService.instance.getTokenMetadata().pendingEndpointsFor(tk, table);
    AbstractWriteResponseHandler responseHandler = rs.getWriteResponseHandler(naturalEndpoints, pendingEndpoints, consistency_level, null, writeType);
    return new WriteResponseHandlerWrapper(responseHandler, mutation);
}
 
开发者ID:dprguiuc,项目名称:Cassandra-Wasef,代码行数:11,代码来源:StorageProxy.java


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