SM Platform - Create AMERICA_ENGLISH index failed.

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

Did you configure SM logging? If not, configure it to see further details about the error.

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

Enviado de meu SM-G9650 usando o Tapatalk

SM has nothing to do with elastic search. It seems your problem is on IRWS level. Could you post any further information?

? It has. Last version needs ES as a prerequisite. Indexes are now created there.

Enviado de meu SM-G9650 usando o Tapatalk

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

Enviado de meu SM-G9650 usando o Tapatalk

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.

You need 8.5.511 administration guide for ES part.

Ahh, you are working on GIA (not GIR as I supposed). Is your ES cluster up?Are you able to check the HTTP API health?

indexer logs:

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.

What is GIA? I was talking about SpeechMiner, the component of GIR.

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’

What is the port of your ES? In log I see something about 8080. Is it really that one?

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”

Thanks for clarification. Good news about the ES cluster requirement. I have to update my LAB environment to keep knowledge up-to-date :slight_smile:

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