@Override public void afterIndexCreated(IndexService indexService) { for (IndexEventListener listener : listeners) { try { listener.afterIndexCreated(indexService); } catch (Exception e) { logger.warn("failed to invoke after index created callback", e); throw e; } } }
listener.beforeIndexRemoved(indexService, reason); logger.debug("{} closing index service (reason [{}][{}])", index, reason, extraInfo); indexService.close(extraInfo, reason == IndexRemovalReason.DELETED); logger.debug("{} closed... (reason [{}][{}])", index, reason, extraInfo); final IndexSettings indexSettings = indexService.getIndexSettings(); listener.afterIndexRemoved(indexService.index(), indexSettings, reason); if (reason == IndexRemovalReason.DELETED) {
try { try { listener.beforeIndexShardClosed(sId, indexShard, indexSettings); } finally { listener.afterIndexShardClosed(sId, indexShard, indexSettings);
private void onShardClose(ShardLock lock) { if (deleted.get()) { // we remove that shards content if this index has been deleted try { try { eventListener.beforeIndexShardDeleted(lock.getShardId(), indexSettings.getSettings()); } finally { shardStoreDeleter.deleteShardStore("delete index", lock, indexSettings); eventListener.afterIndexShardDeleted(lock.getShardId(), indexSettings.getSettings()); } } catch (IOException e) { shardStoreDeleter.addPendingDelete(lock.getShardId(), indexSettings); logger.debug( () -> new ParameterizedMessage( "[{}] failed to delete shard content - scheduled a retry", lock.getShardId().id()), e); } } }
try { lock = nodeEnv.shardLock(shardId, TimeUnit.SECONDS.toMillis(5)); eventListener.beforeIndexShardCreated(shardId, indexSettings); ShardPath path; try { new StoreCloseListener(shardId, () -> eventListener.onStoreClosed(shardId))); indexShard = new IndexShard(routing, this.indexSettings, path, store, indexSortSupplier, indexCache, mapperService, similarityService, engineFactory, searchOperationListeners, indexingOperationListeners, () -> globalCheckpointSyncer.accept(shardId), circuitBreakerService); eventListener.indexShardStateChanged(indexShard, null, indexShard.state(), "shard created"); eventListener.afterIndexShardCreated(indexShard); shards = newMapBuilder(shards).put(shardId.id(), indexShard).immutableMap(); success = true;
indexEventListener.afterIndexShardStarted(this); indexEventListener.shardRoutingChanged(this, currentRouting, newRouting);
@Override public void beforeIndexCreated(Index index, Settings indexSettings) { for (IndexEventListener listener : listeners) { try { listener.beforeIndexCreated(index, indexSettings); } catch (Exception e) { logger.warn("failed to invoke before index created callback", e); throw e; } } }
@Override public void beforeIndexAddedToCluster(Index index, Settings indexSettings) { for (IndexEventListener listener : listeners) { try { listener.beforeIndexAddedToCluster(index, indexSettings); } catch (Exception e) { logger.warn("failed to invoke before index added to cluster callback", e); throw e; } } }
@Override public void afterIndexShardStarted(IndexShard indexShard) { for (IndexEventListener listener : listeners) { try { listener.afterIndexShardStarted(indexShard); } catch (Exception e) { logger.warn(() -> new ParameterizedMessage("[{}] failed to invoke after shard started callback", indexShard.shardId().getId()), e); throw e; } } }
@Override public void afterIndexShardCreated(IndexShard indexShard) { for (IndexEventListener listener : listeners) { try { listener.afterIndexShardCreated(indexShard); } catch (Exception e) { logger.warn(() -> new ParameterizedMessage("[{}] failed to invoke after shard created callback", indexShard.shardId().getId()), e); throw e; } } }
@Override public void beforeIndexRemoved(IndexService indexService, IndexRemovalReason reason) { for (IndexEventListener listener : listeners) { try { listener.beforeIndexRemoved(indexService, reason); } catch (Exception e) { logger.warn("failed to invoke before index removed callback", e); throw e; } } }
@Override public void afterIndexRemoved(Index index, IndexSettings indexSettings, IndexRemovalReason reason) { for (IndexEventListener listener : listeners) { try { listener.afterIndexRemoved(index, indexSettings, reason); } catch (Exception e) { logger.warn("failed to invoke after index removed callback", e); throw e; } } }
@Override public void afterIndexShardClosed(ShardId shardId, @Nullable IndexShard indexShard, Settings indexSettings) { for (IndexEventListener listener : listeners) { try { listener.afterIndexShardClosed(shardId, indexShard, indexSettings); } catch (Exception e) { logger.warn(() -> new ParameterizedMessage("[{}] failed to invoke after shard closed callback", shardId.getId()), e); throw e; } } }
@Override public void beforeIndexShardClosed(ShardId shardId, @Nullable IndexShard indexShard, Settings indexSettings) { for (IndexEventListener listener : listeners) { try { listener.beforeIndexShardClosed(shardId, indexShard, indexSettings); } catch (Exception e) { logger.warn(() -> new ParameterizedMessage("[{}] failed to invoke before shard closed callback", shardId.getId()), e); throw e; } } }
@Override public void afterIndexShardDeleted(ShardId shardId, Settings indexSettings) { for (IndexEventListener listener : listeners) { try { listener.afterIndexShardDeleted(shardId, indexSettings); } catch (Exception e) { logger.warn(() -> new ParameterizedMessage("[{}] failed to invoke after shard deleted callback", shardId.getId()), e); throw e; } } }
try { lock = nodeEnv.shardLock(shardId, TimeUnit.SECONDS.toMillis(5)); eventListener.beforeIndexShardCreated(shardId, indexSettings); ShardPath path; try { new StoreCloseListener(shardId, () -> eventListener.onStoreClosed(shardId))); indexShard = new IndexShard(routing, this.indexSettings, path, store, indexSortSupplier, indexCache, mapperService, similarityService, engineFactory, searchOperationListeners, indexingOperationListeners, () -> globalCheckpointSyncer.accept(shardId), circuitBreakerService); eventListener.indexShardStateChanged(indexShard, null, indexShard.state(), "shard created"); eventListener.afterIndexShardCreated(indexShard); shards = newMapBuilder(shards).put(shardId.id(), indexShard).immutableMap(); success = true;
private void onShardClose(ShardLock lock) { if (deleted.get()) { // we remove that shards content if this index has been deleted try { try { eventListener.beforeIndexShardDeleted(lock.getShardId(), indexSettings.getSettings()); } finally { shardStoreDeleter.deleteShardStore("delete index", lock, indexSettings); eventListener.afterIndexShardDeleted(lock.getShardId(), indexSettings.getSettings()); } } catch (IOException e) { shardStoreDeleter.addPendingDelete(lock.getShardId(), indexSettings); logger.debug( () -> new ParameterizedMessage( "[{}] failed to delete shard content - scheduled a retry", lock.getShardId().id()), e); } } }
indexEventListener.afterIndexShardStarted(this); indexEventListener.shardRoutingChanged(this, currentRouting, newRouting);
@Override public void beforeIndexCreated(Index index, Settings indexSettings) { delegate.beforeIndexCreated(index, indexSettings); }
@Override public void beforeIndexAddedToCluster(Index index, Settings indexSettings) { delegate.beforeIndexAddedToCluster(index, indexSettings); } }