Hi guys,
Any of you have faced this issue at SM Platform?
2019-06-11T10:43:06.812 Std 09900 WARN Create AMERICA_ENGLISH index failed. Internal Server Error
I tried reinstalling the .net core 2.0.6 as per eSR recommendation but no luck.
Can’t find further logs about this
Seems error is from ElasticSearch complaining about not able to connect to port 8080…
Can’t find anything useful at internet about it
Will post logs later
I do not think so you are right - where did you get this information? ES cluster is required by IRWS not by SM at all. Of course, the SM requires IRWS also, but there is no direct reference between SM and ES if I recall well.
Well last documentation states this very clear. Pain in the arse as no good details are provided. So, hard to troubleshoot unless you are a ES guy already
Can you please point me out to the documentation where this is stated? I am not able to find anything similiar and also I have never heart about ES requirements for SM (except IRWS as I mentioned before)
What is even worst, SM requires ES version 5.x while IRWS can work with 1.x only. So you have to install separate instances of ES. In case of multi-tenant we need dedicated SM and ES for each tenant.
2019-06-13 00:02:33.993 [WRN] Failed to disable Elasticsearch automatic index creation.
2019-06-13 00:02:34.029 [INF] Connected to Elasticsearch.
2019-06-13 00:03:23.042 [WRN] Failed to disable Elasticsearch automatic index creation.
2019-06-13 00:03:23.088 [INF] Connected to Elasticsearch.
2019-06-13 00:05:04.034 [INF] Tenant "default": creating index "default_sm_index_english".
2019-06-13 00:05:25.244 [WRN] Tenant "default": failed to create index.
System.Exception: Failed to create index. Invalid NEST response built from a unsuccessful low level call on PUT: /default_sm_index_english
# Audit trail of this API call:
- [1] AllNodesDead: Took: 00:00:00.0000023
- [2] Resurrection: Node: http://172.17.27.19:8080/ Took: 00:00:00.0000007
- [3] PingFailure: Node: http://172.17.27.19:8080/ Exception: PipelineException Took: 00:00:21.0363196
# OriginalException: Elasticsearch.Net.ElasticsearchClientException: One or more errors occurred. (Failed to ping the specified node.) ---> System.AggregateException: One or more errors occurred. (Failed to ping the specified node.) ---> Elasticsearch.Net.PipelineException: Failed to ping the specified node. ---> Elasticsearch.Net.PipelineException: An error occurred trying to write the request data to the specified node.
at Elasticsearch.Net.RequestPipeline.Ping(Node node) in C:\Users\russ\source\elasticsearch-net-5.x\src\Elasticsearch.Net\Transport\Pipeline\RequestPipeline.cs:line 279
--- End of inner exception stack trace ---
at Elasticsearch.Net.RequestPipeline.Ping(Node node) in C:\Users\russ\source\elasticsearch-net-5.x\src\Elasticsearch.Net\Transport\Pipeline\RequestPipeline.cs:line 286
at Elasticsearch.Net.Transport`1.Ping(IRequestPipeline pipeline, Node node) in C:\Users\russ\source\elasticsearch-net-5.x\src\Elasticsearch.Net\Transport\Transport.cs:line 188
at Elasticsearch.Net.Transport`1.Request[TReturn](HttpMethod method, String path, PostData`1 data, IRequestParameters requestParameters) in C:\Users\russ\source\elasticsearch-net-5.x\src\Elasticsearch.Net\Transport\Transport.cs:line 69
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
# Audit exception in step 3 PingFailure:
Elasticsearch.Net.PipelineException: An error occurred trying to write the request data to the specified node.
at Elasticsearch.Net.RequestPipeline.Ping(Node node) in C:\Users\russ\source\elasticsearch-net-5.x\src\Elasticsearch.Net\Transport\Pipeline\RequestPipeline.cs:line 279
# Request:
# Response:
at Indexer.ElasticWrapper.IndexCreator.createIndex(IIndexState indexState, String indexName) in c:\jenkins\workspace\indexer-microservice-build-ver-1.2.0\Indexer\ElasticWrapper\IndexCreator.cs:line 106
at Indexer.ElasticWrapper.IndexCreator.createIndex(String indexName, String analyzerName, Language language, Int32 numberOfShards, Int32 numberOfReplicas, String tenant) in c:\jenkins\workspace\indexer-microservice-build-ver-1.2.0\Indexer\ElasticWrapper\IndexCreator.cs:line 98
at Indexer.ElasticWrapper.IndexCreator.createIndex(Int32 numberOfShards, Int32 numberOfReplicas, String indexName, String tenant) in c:\jenkins\workspace\indexer-microservice-build-ver-1.2.0\Indexer\ElasticWrapper\IndexCreator.cs:line 45
at Indexer.Controllers.IndexController.createIndex(CreateIndexRestObject index) in c:\jenkins\workspace\indexer-microservice-build-ver-1.2.0\Indexer\Controllers\IndexController.cs:line 33
2019-06-13 00:05:46.294 [INF] Tenant “default”: creating index “default_sm_index_spanish”.
2019-06-13 00:06:07.322 [WRN] Tenant “default”: failed to create index.
After looking into your log, I would recommend to check ES logs and Wireshark trace for communication with ES cluster.
You can check ES status with commands like:
curl ‘localhost:9205/_cat/health?v’
curl ‘localhost:9205/_cat/nodes?v’
curl ‘localhost:9205/_cat/indices?v’
GIA is for speech analysis. GIR requires ES cluster just for IRWS, not even for SM. I also suppose your ES cluster is running on different port then 8080.
You are right for SM versions up to 8.5.510. Index files are used for searching in these versions. Starting from 8.5.511 index is moved to external Elasticsearch server.
From Administration Guide:
“Support for Elasticsearch: The solution no longer uses Lucene to store the index for search and retrieval purposes.
The solution now uses Elasticsearch, which is a more scalable search engine based on a distributed storage that
streamlines the backup process and provides robust functionality around data integrity. As a result, all index data must
be migrated from Lucene to Elasticsearch as part of the upgrade. For details, refer to Install, Configure and Run Elasticsearch”
ES logs show almost nothing actually. According to Genesys is not the core where the indexer runs. Indexer is a web app on IIS that consumes ES only.
I also noticed that 8080 port, but no clue about it, never configured such port during installation phase.
You have to install ES and check if it is up and running.
Indexer app in IIS is reading Windows Environment Variable “esNodes” to connect to ES cluster. The value is semicolon separated string of all ES nodes “http://ES_Node_1:<ES_port>;http://ES_Node_2:<ES_port>;http://ES_Node_3:<ES_port>”. The default port is 9200.
You can check ES in browser as well. Use links:
http://<any_ES_node>:<ES_port>/_cat/health?v
http://<any_ES_node>:<ES_port>/_cat/nodes?v
http://<any_ES_node>:<ES_port>/_cat/indices?v