Issues with elasticsearch

I’m trying to enable elasticsearch for a SuiteCRM instance but unfortunately have run into an issue.

When trying to force an index with vendor/bin/robo elastic:index I receive the following error messagt for most modules

[=][15:17:44] Starting indexing procedures

[@][15:17:44] Indexing is performed using JsonSerializerDocumentifier
[@][15:17:44] Reading lock file cache/ElasticSearchIndexer.lock
[@][15:17:44] Last logged indexing performed on 2021-12-18 15:14:30 (3 minutes ago)
[@][15:17:44] A differential indexing will be performed
[?][15:17:44] Time metadata not found for Contacts, performing full index for this module
[@][15:17:44] Indexing module Contacts…
[!][15:17:45] Failed to index module Contacts! Exception details follow
[!][15:17:45] Elasticsearch\Common\Exceptions\BadRequest400Exception: {“error”:{“root_cause”:[{“type”:“action_request_validation_exception”,“reason”:“Validation Failed: 1: type is missing;”}],“type”:“action_request_validation_exception”,“reason”:“Validation Failed: 1: type is missing;”},“status”:400} in /var/www/suitecrm/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php:693
~ ~ ~ ~ Stack trace:
~ ~ ~ ~ #0 /var/www/suitecrm/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php(333): Elasticsearch\Connections\Connection->process4xxError()
~ ~ ~ ~ #1 /var/www/suitecrm/vendor/react/promise/src/FulfilledPromise.php(28): Elasticsearch\Connections\Connection->Elasticsearch\Connections{closure}()
~ ~ ~ ~ #2 /var/www/suitecrm/vendor/ezimuel/ringphp/src/Future/CompletedFutureValue.php(55): React\Promise\FulfilledPromise->then()
~ ~ ~ ~ #3 /var/www/suitecrm/vendor/ezimuel/ringphp/src/Core.php(341): GuzzleHttp\Ring\Future\CompletedFutureValue->then()
~ ~ ~ ~ #4 /var/www/suitecrm/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php(345): GuzzleHttp\Ring\Core::proxy()
~ ~ ~ ~ #5 /var/www/suitecrm/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php(241): Elasticsearch\Connections\Connection->Elasticsearch\Connections{closure}()
~ ~ ~ ~ #6 /var/www/suitecrm/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Transport.php(110): Elasticsearch\Connections\Connection->performRequest()
~ ~ ~ ~ #7 /var/www/suitecrm/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Client.php(1946): Elasticsearch\Transport->performRequest()
~ ~ ~ ~ #8 /var/www/suitecrm/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Client.php(347): Elasticsearch\Client->performRequest()
~ ~ ~ ~ #9 /var/www/suitecrm/lib/Search/ElasticSearch/ElasticSearchIndexer.php(497): Elasticsearch\Client->bulk()
~ ~ ~ ~ #10 /var/www/suitecrm/lib/Search/ElasticSearch/ElasticSearchIndexer.php(452): SuiteCRM\Search\ElasticSearch\ElasticSearchIndexer->sendBatch()
~ ~ ~ ~ #11 /var/www/suitecrm/lib/Search/ElasticSearch/ElasticSearchIndexer.php(266): SuiteCRM\Search\ElasticSearch\ElasticSearchIndexer->indexBatch()
~ ~ ~ ~ #12 /var/www/suitecrm/lib/Search/ElasticSearch/ElasticSearchIndexer.php(213): SuiteCRM\Search\ElasticSearch\ElasticSearchIndexer->indexBeans()
~ ~ ~ ~ #13 /var/www/suitecrm/lib/Search/ElasticSearch/ElasticSearchIndexer.php(146): SuiteCRM\Search\ElasticSearch\ElasticSearchIndexer->indexModule()
~ ~ ~ ~ #14 /var/www/suitecrm/lib/Search/ElasticSearch/ElasticSearchIndexer.php(586): SuiteCRM\Search\ElasticSearch\ElasticSearchIndexer->index()
~ ~ ~ ~ #15 /var/www/suitecrm/lib/Robo/Plugin/Commands/ElasticSearchCommands.php(120): SuiteCRM\Search\ElasticSearch\ElasticSearchIndexer::repairElasticsearchIndex()
~ ~ ~ ~ #16 [internal function]: SuiteCRM\Robo\Plugin\Commands\ElasticSearchCommands->elasticIndex()
~ ~ ~ ~ #17 /var/www/suitecrm/vendor/consolidation/annotated-command/src/CommandProcessor.php(257): call_user_func_array()
~ ~ ~ ~ #18 /var/www/suitecrm/vendor/consolidation/annotated-command/src/CommandProcessor.php(212): Consolidation\AnnotatedCommand\CommandProcessor->runCommandCallback()
~ ~ ~ ~ #19 /var/www/suitecrm/vendor/consolidation/annotated-command/src/CommandProcessor.php(176): Consolidation\AnnotatedCommand\CommandProcessor->validateRunAndAlter()
~ ~ ~ ~ #20 /var/www/suitecrm/vendor/consolidation/annotated-command/src/AnnotatedCommand.php(313): Consolidation\AnnotatedCommand\CommandProcessor->process()
~ ~ ~ ~ #21 /var/www/suitecrm/vendor/symfony/console/Command/Command.php(259): Consolidation\AnnotatedCommand\AnnotatedCommand->execute()
~ ~ ~ ~ #22 /var/www/suitecrm/vendor/symfony/console/Application.php(938): Symfony\Component\Console\Command\Command->run()
~ ~ ~ ~ #23 /var/www/suitecrm/vendor/symfony/console/Application.php(266): Symfony\Component\Console\Application->doRunCommand()
~ ~ ~ ~ #24 /var/www/suitecrm/vendor/symfony/console/Application.php(142): Symfony\Component\Console\Application->doRun()
~ ~ ~ ~ #25 /var/www/suitecrm/vendor/consolidation/robo/src/Runner.php(282): Symfony\Component\Console\Application->run()
~ ~ ~ ~ #26 /var/www/suitecrm/vendor/consolidation/robo/src/Runner.php(158): Robo\Runner->run()
~ ~ ~ ~ #27 /var/www/suitecrm/vendor/consolidation/robo/robo(48): Robo\Runner->execute()
~ ~ ~ ~ #28 {main}

If anyone has an idea what’s going on it would be greatly appeciated

(Note Dec 2021: remember to patch ElasticSearch for the log4j vulnerability that the Internet has been talking about)

Thanks, can you speak to whether SuiteCRM is compatible with elasticsearch 5.6.11? The Documentation points to 5.6.10 in the docker-compose.yml example but mentions compatibility with 5.6

As far as I’m aware mitigation options only work for 5.6.11+

Sorry, I don’t know… :man_shrugging:

Try with Elasticsearch 7. The same was happening to me here Elasticsearch throw "type is missing" and no index is populated - #3 by isaacmarco and I solved it upgrading elasticsearch.

I think you created the commit, but you’ll still have to create the Pull request, that’s a second step.

Pull request done… thank you.

1 Like