/** * Resolves the given indexes directory against this NodePath */ public Path resolve(Index index) { return indicesPath.resolve(index.name()); }
/** * Returns all index paths. */ public Path[] indexPaths(Index index) { assert assertEnvIsLocked(); Path[] indexPaths = new Path[nodePaths.length]; for (int i = 0; i < nodePaths.length; i++) { indexPaths[i] = nodePaths[i].indicesPath.resolve(index.name()); } return indexPaths; }
public void beforeIndexCreated(Index index, Settings indexSettings) { for (Listener listener : listeners) { try { listener.beforeIndexCreated(index, indexSettings); } catch (Throwable t) { logger.warn("[{}] failed to invoke before index created callback", t, index.name()); throw t; } } }
public void beforeIndexAddedToCluster(Index index, Settings indexSettings) { for (Listener listener : listeners) { try { listener.beforeIndexAddedToCluster(index, indexSettings); } catch (Throwable t) { logger.warn("[{}] failed to invoke before index added to cluster callback", t, index.name()); throw t; } } }
/** * Resolve the custom path for a index's shard. * Uses the {@code IndexMetaData.SETTING_DATA_PATH} setting to determine * the root path for the index. * * @param indexSettings settings for the index * @param shardId shard to resolve the path to */ public Path resolveCustomLocation(Settings indexSettings, final ShardId shardId) { return resolveCustomLocation(indexSettings, shardId.index().name()).resolve(Integer.toString(shardId.id())); }
private static String buildMessage(ShardId shardId, String message) { if (shardId == null) { return message; } return "[" + shardId.index().name() + "][" + shardId.id() + "] " + message; }
public void afterIndexDeleted(Index index, Settings indexSettings) { for (Listener listener : listeners) { try { listener.afterIndexDeleted(index, indexSettings); } catch (Throwable t) { logger.warn("[{}] failed to invoke after index deleted callback", t, index.name()); throw t; } } }
public void afterIndexClosed(Index index, Settings indexSettings) { for (Listener listener : listeners) { try { listener.afterIndexClosed(index, indexSettings); } catch (Throwable t) { logger.warn("[{}] failed to invoke after index closed callback", t, index.name()); throw t; } } }
@Override public int compareTo(ShardId o) { if (o.getId() == shardId) { return index.name().compareTo(o.getIndex()); } return Integer.compare(shardId, o.getId()); } }
public void afterIndexCreated(IndexService indexService) { for (Listener listener : listeners) { try { listener.afterIndexCreated(indexService); } catch (Throwable t) { logger.warn("[{}] failed to invoke after index created callback", t, indexService.index().name()); throw t; } } }
public void beforeIndexDeleted(IndexService indexService) { for (Listener listener : listeners) { try { listener.beforeIndexDeleted(indexService); } catch (Throwable t) { logger.warn("[{}] failed to invoke before index deleted callback", t, indexService.index().name()); throw t; } } }
public void beforeIndexClosed(IndexService indexService) { for (Listener listener : listeners) { try { listener.beforeIndexClosed(indexService); } catch (Throwable t) { logger.warn("[{}] failed to invoke before index closed callback", t, indexService.index().name()); throw t; } } }
private void checkNestedFieldsLimit(Map<String, ObjectMapper> fullPathObjectMappers) { long allowedNestedFields = indexSettingsService.getSettings().getAsLong(INDEX_MAPPING_NESTED_FIELDS_LIMIT_SETTING, 50L); long actualNestedFields = 0; for (ObjectMapper objectMapper : fullPathObjectMappers.values()) { if (objectMapper.nested().isNested()) { actualNestedFields++; } } if (allowedNestedFields >= 0 && actualNestedFields > allowedNestedFields) { throw new IllegalArgumentException("Limit of nested fields [" + allowedNestedFields + "] in index [" + index().name() + "] has been exceeded"); } }
public RecoverySourceHandler(final IndexShard shard, final StartRecoveryRequest request, final RecoverySettings recoverySettings, final TransportService transportService, final ESLogger logger) { this.shard = shard; this.request = request; this.recoverySettings = recoverySettings; this.logger = logger; this.transportService = transportService; this.indexName = this.request.shardId().index().name(); this.shardId = this.request.shardId().id(); this.response = new RecoveryResponse(); }
private void sendIndexShardStats() { for (IndexShard indexShard : indexShards) { String type = buildMetricName("indexes.") + indexShard.shardId().index().name() + ".id." + indexShard.shardId().id(); sendIndexShardStats(type, indexShard); } }
@Override protected MergeThread getMergeThread(IndexWriter writer, MergePolicy.OneMerge merge) throws IOException { MergeThread thread = super.getMergeThread(writer, merge); thread.setName(EsExecutors.threadName(indexSettings, "[" + shardId.index().name() + "][" + shardId.id() + "]: " + thread.getName())); return thread; }
public ShardSuggestResponse suggest(ShardSuggestRequest shardSuggestRequest) { List<String> suggestions; try { suggestions = Lists.newArrayList(getSuggestions(shardSuggestRequest)); } catch (IOException e) { throw new ElasticsearchException("Error getting suggestions", e); } return new ShardSuggestResponse(shardId.index().name(), shardId.id(), suggestions); }
@Override public void beforeIndexShardClosed(ShardId shardId, @Nullable IndexShard indexShard) { IndexService indexService = indicesService.indexService(shardId.index().name()); if (indexService != null) { ShardSuggestService suggestShardService = indexService.shardInjectorSafe(shardId.id()).getInstance(ShardSuggestService.class); suggestShardService.shutDown(); } } });