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


Java BatchlogManager类代码示例

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


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

示例1: decommission

import org.apache.cassandra.db.BatchlogManager; //导入依赖的package包/类
public void decommission() throws InterruptedException
{
    if (!tokenMetadata.isMember(FBUtilities.getBroadcastAddress()))
        throw new UnsupportedOperationException("local node is not a member of the token ring yet");
    if (tokenMetadata.cloneAfterAllLeft().sortedTokens().size() < 2)
        throw new UnsupportedOperationException("no other normal nodes in the ring; decommission would be pointless");

    PendingRangeCalculatorService.instance.blockUntilFinished();
    for (String keyspaceName : Schema.instance.getNonSystemKeyspaces())
    {
        if (tokenMetadata.getPendingRanges(keyspaceName, FBUtilities.getBroadcastAddress()).size() > 0)
            throw new UnsupportedOperationException("data is currently moving to this node; unable to leave the ring");
    }

    if (logger.isDebugEnabled())
        logger.debug("DECOMMISSIONING");
    startLeaving();
    long timeout = Math.max(RING_DELAY, BatchlogManager.instance.getBatchlogTimeout());
    setMode(Mode.LEAVING, "sleeping " + timeout + " ms for batch processing and pending range setup", true);
    Thread.sleep(timeout);

    Runnable finishLeaving = new Runnable()
    {
        public void run()
        {
            shutdownClientServers();
            Gossiper.instance.stop();
            MessagingService.instance().shutdown();
            StageManager.shutdownNow();
            setMode(Mode.DECOMMISSIONED, true);
            // let op be responsible for killing the process
        }
    };
    unbootstrap(finishLeaving);
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:36,代码来源:StorageService.java

示例2: prepareToJoin

import org.apache.cassandra.db.BatchlogManager; //导入依赖的package包/类
private void prepareToJoin() throws ConfigurationException
{
    if (!joined)
    {
        Map<ApplicationState, VersionedValue> appStates = new HashMap<>();

        if (DatabaseDescriptor.isReplacing() && !(Boolean.parseBoolean(System.getProperty("cassandra.join_ring", "true"))))
            throw new ConfigurationException("Cannot set both join_ring=false and attempt to replace a node");
        if (DatabaseDescriptor.getReplaceTokens().size() > 0 || DatabaseDescriptor.getReplaceNode() != null)
            throw new RuntimeException("Replace method removed; use cassandra.replace_address instead");
        if (DatabaseDescriptor.isReplacing())
        {
            if (SystemKeyspace.bootstrapComplete())
                throw new RuntimeException("Cannot replace address with a node that is already bootstrapped");
            if (!DatabaseDescriptor.isAutoBootstrap())
                throw new RuntimeException("Trying to replace_address with auto_bootstrap disabled will not work, check your configuration");
            bootstrapTokens = prepareReplacementInfo();
            appStates.put(ApplicationState.TOKENS, valueFactory.tokens(bootstrapTokens));
            appStates.put(ApplicationState.STATUS, valueFactory.hibernate(true));
        }
        else if (shouldBootstrap())
        {
            checkForEndpointCollision();
        }

        // have to start the gossip service before we can see any info on other nodes.  this is necessary
        // for bootstrap to get the load info it needs.
        // (we won't be part of the storage ring though until we add a counterId to our state, below.)
        // Seed the host ID-to-endpoint map with our own ID.
        UUID localHostId = SystemKeyspace.getLocalHostId();
        getTokenMetadata().updateHostId(localHostId, FBUtilities.getBroadcastAddress());
        appStates.put(ApplicationState.NET_VERSION, valueFactory.networkVersion());
        appStates.put(ApplicationState.HOST_ID, valueFactory.hostId(localHostId));
        appStates.put(ApplicationState.RPC_ADDRESS, valueFactory.rpcaddress(DatabaseDescriptor.getBroadcastRpcAddress()));
        appStates.put(ApplicationState.RELEASE_VERSION, valueFactory.releaseVersion());
        logger.info("Starting up server gossip");
        Gossiper.instance.register(this);
        Gossiper.instance.start(SystemKeyspace.incrementAndGetGeneration(), appStates); // needed for node-ring gathering.
        // gossip snitch infos (local DC and rack)
        gossipSnitchInfo();
        // gossip Schema.emptyVersion forcing immediate check for schema updates (see MigrationManager#maybeScheduleSchemaPull)
        Schema.instance.updateVersionAndAnnounce(); // Ensure we know our own actual Schema UUID in preparation for updates

        if (!MessagingService.instance().isListening())
            MessagingService.instance().listen(FBUtilities.getLocalAddress());
        LoadBroadcaster.instance.startBroadcasting();

        HintedHandOffManager.instance.start();
        BatchlogManager.instance.start();
    }
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:52,代码来源:StorageService.java


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