Index auto-closing at night?


(Dr Gianluigi "Zane" Zanettini) #1

Hi guys,
I've a nasty problem where ES 1.7.3 index gets closed at night. I'm trying to understand why and what, but my limited experience with ES is slowing me down.

I've a single server shared by the web stack (Nginx+php) and ES. I'm working on a Magento 1.9.2.1 installation with smile-magento-elasticsearch already installed and configured.

This is my index situation:

ES port is firewalled against external traffic.

I didn't enable audit yet, so I don't have a REST calls log yet.

I've a script with two Magento procedures running at night. These usually write to MySQL, but are not writing to ES due to the smile-magento-elasticsearch module:

REINDEX_NIGHTLY START --> Fri Dec 15 04:00:01 CET 2017
shell/indexer.php -- -reindex catalogsearch_fulltext
Catalog Search Index index was rebuilt successfully in 01:15:32

shell/indexer.php -- -reindex catalog_product_attribute
Product Attributes index was rebuilt successfully in 00:07:39
REINDEX_NIGHTLY END --> Fri Dec 15 05:23:14 CET 2017

In my /var/log/elasticsearch/project.log I see:

[2017-12-15 05:35:00,525][DEBUG][action.admin.indices.settings.put] [Bella Donna] failed to update settings on indices [myproject-20171215-030002]
org.elasticsearch.ElasticsearchIllegalArgumentException: Can't update [index.number_of_replicas] on closed indices [[myproject-20171215-030002]] - can leave index in an unopenable state
	at org.elasticsearch.cluster.metadata.MetaDataUpdateSettingsService$2.execute(MetaDataUpdateSettingsService.java:237)
	at org.elasticsearch.cluster.service.InternalClusterService$UpdateTask.run(InternalClusterService.java:374)
	at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(PrioritizedEsThreadPoolExecutor.java:204)
	at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:167)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

I'm checking both Magento's and Linux cron but I don't see anything running at 2017-12-15 05:35:00.

I'm at a loss here, any help is appreciated, thanks.


(Thiago Souza) #2

Elasticsearch won't auto-close an index by itself. An index can only be closed by an external call to POST <index_name>/_close.

You can check Elasticsearch logs to know when the index was closed.


(Dr Gianluigi "Zane" Zanettini) #3

Thanks Thiago.

As I said, there is no reference to this "closing" in the standard /var/log/elastisearch. We enabled logging now: will check it on monday.


(system) #4

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.