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


Java RepairMessage类代码示例

本文整理汇总了Java中org.apache.cassandra.repair.messages.RepairMessage的典型用法代码示例。如果您正苦于以下问题:Java RepairMessage类的具体用法?Java RepairMessage怎么用?Java RepairMessage使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


RepairMessage类属于org.apache.cassandra.repair.messages包,在下文中一共展示了RepairMessage类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: finishParentSession

import org.apache.cassandra.repair.messages.RepairMessage; //导入依赖的package包/类
public synchronized void finishParentSession(UUID parentSession, Set<InetAddress> neighbors, boolean doAntiCompaction) throws InterruptedException, ExecutionException, IOException
{
    try
    {
        if (doAntiCompaction)
        {
            for (InetAddress neighbor : neighbors)
            {
                AnticompactionRequest acr = new AnticompactionRequest(parentSession);
                MessageOut<RepairMessage> req = acr.createMessage();
                MessagingService.instance().sendOneWay(req, neighbor);
            }
            List<Future<?>> futures = doAntiCompaction(parentSession);
            FBUtilities.waitOnFutures(futures);
        }
    }
    finally
    {
        parentRepairSessions.remove(parentSession);
    }
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:22,代码来源:ActiveRepairService.java

示例2: handleMessage

import org.apache.cassandra.repair.messages.RepairMessage; //导入依赖的package包/类
public void handleMessage(InetAddress endpoint, RepairMessage message)
{
    RepairJobDesc desc = message.desc;
    RepairSession session = sessions.get(desc.sessionId);
    if (session == null)
        return;
    switch (message.messageType)
    {
        case VALIDATION_COMPLETE:
            ValidationComplete validation = (ValidationComplete) message;
            session.validationComplete(desc, endpoint, validation.tree);
            break;
        case SYNC_COMPLETE:
            // one of replica is synced.
            SyncComplete sync = (SyncComplete) message;
            session.syncComplete(desc, sync.nodes, sync.success);
            break;
        default:
            break;
    }
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:22,代码来源:ActiveRepairService.java

示例3: doVerb

import org.apache.cassandra.repair.messages.RepairMessage; //导入依赖的package包/类
public void doVerb(MessageIn<RepairMessage> message, int id)
{
    // TODO add cancel/interrupt message
    RepairJobDesc desc = message.payload.desc;
    switch (message.payload.messageType)
    {
        case VALIDATION_REQUEST:
            ValidationRequest validationRequest = (ValidationRequest) message.payload;
            // trigger read-only compaction
            ColumnFamilyStore store = Keyspace.open(desc.keyspace).getColumnFamilyStore(desc.columnFamily);
            Validator validator = new Validator(desc, message.from, validationRequest.gcBefore);
            CompactionManager.instance.submitValidation(store, validator);
            break;

        case SYNC_REQUEST:
            // forwarded sync request
            SyncRequest request = (SyncRequest) message.payload;
            StreamingRepairTask task = new StreamingRepairTask(desc, request);
            task.run();
            break;

        default:
            ActiveRepairService.instance.handleMessage(message.from, message.payload);
            break;
    }
}
 
开发者ID:pgaref,项目名称:ACaZoo,代码行数:27,代码来源:RepairMessageVerbHandler.java

示例4: finishParentSession

import org.apache.cassandra.repair.messages.RepairMessage; //导入依赖的package包/类
public void finishParentSession(UUID parentSession, Set<InetAddress> neighbors, boolean doAntiCompaction)
{
    try
    {
        if (doAntiCompaction)
        {
            for (InetAddress neighbor : neighbors)
            {
                AnticompactionRequest acr = new AnticompactionRequest(parentSession);
                MessageOut<RepairMessage> req = acr.createMessage();
                MessagingService.instance().sendOneWay(req, neighbor);
            }
            List<Future<?>> futures = doAntiCompaction(parentSession);
            FBUtilities.waitOnFutures(futures);
        }
    }
    finally
    {
        parentRepairSessions.remove(parentSession);
    }
}
 
开发者ID:daidong,项目名称:GraphTrek,代码行数:22,代码来源:ActiveRepairService.java

示例5: finishParentSession

import org.apache.cassandra.repair.messages.RepairMessage; //导入依赖的package包/类
public void finishParentSession(UUID parentSession, Set<InetAddress> neighbors) throws InterruptedException, ExecutionException, IOException
{

    for (InetAddress neighbor : neighbors)
    {
        AnticompactionRequest acr = new AnticompactionRequest(parentSession);
        MessageOut<RepairMessage> req = acr.createMessage();
        MessagingService.instance().sendOneWay(req, neighbor);
    }
    try
    {
        List<Future<?>> futures = doAntiCompaction(parentSession);
        FBUtilities.waitOnFutures(futures);
    }
    finally
    {
        parentRepairSessions.remove(parentSession);
    }
}
 
开发者ID:rajath26,项目名称:cassandra-trunk,代码行数:20,代码来源:ActiveRepairService.java

示例6: doVerb

import org.apache.cassandra.repair.messages.RepairMessage; //导入依赖的package包/类
public void doVerb(MessageIn<RepairMessage> message, int id)
{
    // TODO add cancel/interrupt message
    RepairJobDesc desc = message.payload.desc;
    switch (message.payload.messageType)
    {
        case PREPARE_MESSAGE:
            PrepareMessage prepareMessage = (PrepareMessage) message.payload;
            List<ColumnFamilyStore> columnFamilyStores = new ArrayList<>(prepareMessage.cfIds.size());
            for (UUID cfId : prepareMessage.cfIds)
            {
                Pair<String, String> kscf = Schema.instance.getCF(cfId);
                ColumnFamilyStore columnFamilyStore = Keyspace.open(kscf.left).getColumnFamilyStore(kscf.right);
                columnFamilyStores.add(columnFamilyStore);
            }
            ActiveRepairService.instance.registerParentRepairSession(prepareMessage.parentRepairSession,
                                                                     columnFamilyStores,
                                                                     prepareMessage.ranges);
            MessagingService.instance().sendReply(new MessageOut(MessagingService.Verb.INTERNAL_RESPONSE), id, message.from);
            break;

        case VALIDATION_REQUEST:
            ValidationRequest validationRequest = (ValidationRequest) message.payload;
            // trigger read-only compaction
            ColumnFamilyStore store = Keyspace.open(desc.keyspace).getColumnFamilyStore(desc.columnFamily);

            Validator validator = new Validator(desc, message.from, validationRequest.gcBefore);
            CompactionManager.instance.submitValidation(store, validator);
            break;

        case SYNC_REQUEST:
            // forwarded sync request
            SyncRequest request = (SyncRequest) message.payload;
            StreamingRepairTask task = new StreamingRepairTask(desc, request);
            task.run();
            break;

        case ANTICOMPACTION_REQUEST:
            logger.debug("Got anticompaction request");
            AnticompactionRequest anticompactionRequest = (AnticompactionRequest) message.payload;
            try
            {
                List<Future<?>> futures = ActiveRepairService.instance.doAntiCompaction(anticompactionRequest.parentRepairSession);
                FBUtilities.waitOnFutures(futures);
            }
            catch (Exception e)
            {
                throw new RuntimeException(e);
            }

            break;

        default:
            ActiveRepairService.instance.handleMessage(message.from, message.payload);
            break;
    }
}
 
开发者ID:rajath26,项目名称:cassandra-trunk,代码行数:58,代码来源:RepairMessageVerbHandler.java


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