protected final boolean isSearchGuardIndexRequest() { return index.getName().equals(searchguardIndex); } }
private IndexSearcherWrapper loadFlsDlsIndexSearcherWrapper(final IndexService indexService, final ComplianceIndexingOperationListener ciol, final ComplianceConfig complianceConfig) { try { IndexSearcherWrapper flsdlsWrapper = (IndexSearcherWrapper) dlsFlsConstructor .newInstance(indexService, settings, Objects.requireNonNull(adminDns), Objects.requireNonNull(cs), Objects.requireNonNull(auditLog), Objects.requireNonNull(ciol), Objects.requireNonNull(complianceConfig)); if(log.isDebugEnabled()) { log.debug("FLS/DLS enabled for index {}", indexService.index().getName()); } return flsdlsWrapper; } catch(Exception ex) { throw new RuntimeException("Failed to enable FLS/DLS", ex); } }
public SearchGuardIndexSearcherWrapper(final IndexService indexService, final Settings settings, final AdminDNs adminDNs) { index = indexService.index(); threadContext = indexService.getThreadPool().getThreadContext(); this.searchguardIndex = settings.get(ConfigConstants.SEARCHGUARD_CONFIG_INDEX_NAME, ConfigConstants.SG_DEFAULT_CONFIG_INDEX); this.adminDns = adminDNs; }
private static void checkIndexCompatibility(IndexSettings settings, String name) { if (!settings.isSingleType()) { throw new IllegalStateException("Cannot create a field alias [" + name + "] " + "for index [" + settings.getIndex().getName() + "]. Field aliases can only " + "be specified on indexes that enforce a single mapping type."); } } }
log.debug("Handle complianceConfig="+complianceConfig+"/dlsFlsAvailable: "+dlsFlsAvailable+"/auditLog="+auditLog.getClass()+" for onIndexModule() of index "+indexModule.getIndex().getName()); if (dlsFlsAvailable) { if(complianceConfig.writeHistoryEnabledForIndex(indexModule.getIndex().getName())) { ciol = ReflectionHelper.instantiateComplianceListener(complianceConfig, Objects.requireNonNull(auditLog)); indexModule.addIndexOperationListener(ciol); } else { ciol = new ComplianceIndexingOperationListener(); indexModule.setSearcherWrapper(indexService -> loadFlsDlsIndexSearcherWrapper(indexService, ciol, complianceConfig)); indexModule.forceQueryCacheProvider((indexSettings,nodeCache)->new QueryCache() { indexModule.setSearcherWrapper(indexService -> new SearchGuardIndexSearcherWrapper(indexService, settings, Objects .requireNonNull(adminDns))); indexModule.addSearchOperationListener(new SearchOperationListener() {
Index concreteIndex = pmr.getConcreteIndex(); if(concreteIndex != null && (pmr.indices() == null || pmr.indices().length == 0)) { String[] newIndices = provider.provide(new String[]{concreteIndex.getName()}, request, true); if(checkIndices(request, newIndices, true, allowEmptyIndices) == false) { return false; result = getOrReplaceAllIndices(((ReindexRequest) request).getDestination(), provider, false) && result; result = getOrReplaceAllIndices(((ReindexRequest) request).getSearchRequest(), provider, false) && result; } else if (request instanceof BaseNodesRequest) {
Params withVersionType(VersionType versionType) { if (versionType != VersionType.INTERNAL) { return putParam("version_type", versionType.name().toLowerCase(Locale.ROOT)); } return this; }
public SortedSetDVOrdinalsIndexFieldData(IndexSettings indexSettings, IndexFieldDataCache cache, String fieldName, CircuitBreakerService breakerService, Function<SortedSetDocValues, ScriptDocValues<?>> scriptFunction) { super(indexSettings.getIndex(), fieldName); this.indexSettings = indexSettings; this.cache = cache; this.breakerService = breakerService; this.scriptFunction = scriptFunction; }
MergeSchedulerConfig(IndexSettings indexSettings) { int maxThread = indexSettings.getValue(MAX_THREAD_COUNT_SETTING); int maxMerge = indexSettings.getValue(MAX_MERGE_COUNT_SETTING); setMaxThreadAndMergeCount(maxThread, maxMerge); this.autoThrottle = indexSettings.getValue(AUTO_THROTTLE_SETTING); }
AsyncRefreshTask(IndexService indexService) { super(indexService, indexService.getIndexSettings().getRefreshInterval()); }
/** * Returns the index {@link Settings} for this index */ public Settings getSettings() { return indexSettings.getSettings(); }
private IndexSettings buildIndexSettings(IndexMetaData metaData) { // play safe here and make sure that we take node level settings into account. // we might run on nodes where we use shard FS and then in the future don't delete // actual content. return new IndexSettings(metaData, settings); }
/** * returns true if the engine is allowed to optimize indexing operations with an auto-generated ID */ public boolean isAutoGeneratedIDsOptimizationEnabled() { return indexSettings.getValue(INDEX_OPTIMIZE_AUTO_GENERATED_IDS); }
private int computeHashCode() { int result = index != null ? index.hashCode() : 0; result = 31 * result + shardId; return result; }
/** * Returns the current translog durability mode */ public Translog.Durability getTranslogDurability() { return indexSettings.getTranslogDurability(); }
/** * Returns the merge policy that should be used for this index. */ public MergePolicy getMergePolicy() { return mergePolicyConfig.getMergePolicy(); }
BaseAsyncTask(IndexService indexService, TimeValue interval) { super(indexService.logger, indexService.threadPool, interval, true); this.indexService = indexService; rescheduleIfNecessary(); }
Set<String> doubleIndices = lookup.get(al).getIndices().stream().map(a->a.getIndex().getName()).collect(Collectors.toSet()); _indices.removeAll(doubleIndices);
private void deleteAllIndices() { ImmutableOpenMap<String, IndexMetaData> indices = elasticSearchClient.admin().cluster() .prepareState().get().getState() .getMetaData().getIndices(); indices.forEach(cursor -> { try { elasticSearchClient.admin() .indices() .delete(new DeleteIndexRequest(cursor.value.getIndex().getName())) .get(); } catch (InterruptedException | ExecutionException e) { throw new RuntimeException(e); } }); }