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


Java IndexService.shard方法代码示例

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


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

示例1: onFailedEngine

import org.elasticsearch.index.IndexService; //导入方法依赖的package包/类
@Override
public void onFailedEngine(final ShardId shardId, final String reason, final @Nullable Throwable failure) {
    ShardRouting shardRouting = null;
    final IndexService indexService = indicesService.indexService(shardId.index().name());
    if (indexService != null) {
        IndexShard indexShard = indexService.shard(shardId.id());
        if (indexShard != null) {
            shardRouting = indexShard.routingEntry();
        }
    }
    if (shardRouting == null) {
        logger.warn("[{}][{}] engine failed, but can't find index shard. failure reason: [{}]", failure,
                shardId.index().name(), shardId.id(), reason);
        return;
    }
    final ShardRouting fShardRouting = shardRouting;
    threadPool.generic().execute(new Runnable() {
        @Override
        public void run() {
            synchronized (mutex) {
                failAndRemoveShard(fShardRouting, indexService, true, "engine failure, reason [" + reason + "]", failure);
            }
        }
    });
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:26,代码来源:IndicesClusterStateService.java

示例2: getShard

import org.elasticsearch.index.IndexService; //导入方法依赖的package包/类
private IndexShard getShard(ShardActiveRequest request) {
    ClusterName thisClusterName = clusterService.state().getClusterName();
    if (!thisClusterName.equals(request.clusterName)) {
        logger.trace("shard exists request meant for cluster[{}], but this is cluster[{}], ignoring request", request.clusterName, thisClusterName);
        return null;
    }

    ShardId shardId = request.shardId;
    IndexService indexService = indicesService.indexService(shardId.index().getName());
    if (indexService != null && indexService.indexUUID().equals(request.indexUUID)) {
        return indexService.shard(shardId.id());
    }
    return null;
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:15,代码来源:IndicesStore.java

示例3: warmInternal

import org.elasticsearch.index.IndexService; //导入方法依赖的package包/类
private void warmInternal(final WarmerContext context, boolean topReader) {
    final IndexMetaData indexMetaData = clusterService.state().metaData().index(context.shardId().index().name());
    if (indexMetaData == null) {
        return;
    }
    if (!indexMetaData.getSettings().getAsBoolean(INDEX_WARMER_ENABLED, settings.getAsBoolean(INDEX_WARMER_ENABLED, true))) {
        return;
    }
    IndexService indexService = indicesService.indexService(context.shardId().index().name());
    if (indexService == null) {
        return;
    }
    final IndexShard indexShard = indexService.shard(context.shardId().id());
    if (indexShard == null) {
        return;
    }
    if (logger.isTraceEnabled()) {
        if (topReader) {
            logger.trace("[{}][{}] top warming [{}]", context.shardId().index().name(), context.shardId().id(), context);
        } else {
            logger.trace("[{}][{}] warming [{}]", context.shardId().index().name(), context.shardId().id(), context);
        }
    }
    indexShard.warmerService().onPreWarm();
    long time = System.nanoTime();
    final List<TerminationHandle> terminationHandles = new ArrayList<>();
    // get a handle on pending tasks
    for (final Listener listener : listeners) {
        if (topReader) {
            terminationHandles.add(listener.warmTopReader(indexShard, indexMetaData, context, threadPool));
        } else {
            terminationHandles.add(listener.warmNewReaders(indexShard, indexMetaData, context, threadPool));
        }
    }
    // wait for termination
    for (TerminationHandle terminationHandle : terminationHandles) {
        try {
            terminationHandle.awaitTermination();
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            if (topReader) {
                logger.warn("top warming has been interrupted", e);
            } else {
                logger.warn("warming has been interrupted", e);
            }
            break;
        }
    }
    long took = System.nanoTime() - time;
    indexShard.warmerService().onPostWarm(took);
    if (indexShard.warmerService().logger().isTraceEnabled()) {
        if (topReader) {
            indexShard.warmerService().logger().trace("top warming took [{}]", new TimeValue(took, TimeUnit.NANOSECONDS));
        } else {
            indexShard.warmerService().logger().trace("warming took [{}]", new TimeValue(took, TimeUnit.NANOSECONDS));
        }
    }
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:59,代码来源:IndicesWarmer.java

示例4: listStoreMetaData

import org.elasticsearch.index.IndexService; //导入方法依赖的package包/类
private StoreFilesMetaData listStoreMetaData(ShardId shardId) throws IOException {
    logger.trace("listing store meta data for {}", shardId);
    long startTimeNS = System.nanoTime();
    boolean exists = false;
    try {
        IndexService indexService = indicesService.indexService(shardId.index().name());
        if (indexService != null) {
            IndexShard indexShard = indexService.shard(shardId.id());
            if (indexShard != null) {
                final Store store = indexShard.store();
                store.incRef();
                try {
                    exists = true;
                    return new StoreFilesMetaData(true, shardId, store.getMetadataOrEmpty());
                } finally {
                    store.decRef();
                }
            }
        }
        // try and see if we an list unallocated
        IndexMetaData metaData = clusterService.state().metaData().index(shardId.index().name());
        if (metaData == null) {
            return new StoreFilesMetaData(false, shardId, Store.MetadataSnapshot.EMPTY);
        }
        String storeType = metaData.getSettings().get(IndexStoreModule.STORE_TYPE, "fs");
        if (!storeType.contains("fs")) {
            return new StoreFilesMetaData(false, shardId, Store.MetadataSnapshot.EMPTY);
        }
        final ShardPath shardPath = ShardPath.loadShardPath(logger, nodeEnv, shardId, metaData.getSettings());
        if (shardPath == null) {
            return new StoreFilesMetaData(false, shardId, Store.MetadataSnapshot.EMPTY);
        }
        return new StoreFilesMetaData(false, shardId, Store.readMetadataSnapshot(shardPath.resolveIndex(), logger));
    } finally {
        TimeValue took = new TimeValue(System.nanoTime() - startTimeNS, TimeUnit.NANOSECONDS);
        if (exists) {
            logger.debug("{} loaded store meta data (took [{}])", shardId, took);
        } else {
            logger.trace("{} didn't find any store meta data to load (took [{}])", shardId, took);
        }
    }
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:43,代码来源:TransportNodesListShardStoreMetaData.java


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