Fatal Error on Indexing

Good day

I just upgraded from version 7.11.0 to 7.11.1 this morning. I had a workflow which worked well before where I would automatically assign a project to a user via a workflow. Now it does not assign the project and on the logs I get the following error:

Mon Feb 18 11:54:33 2019 [64925][58823ce5-3fb4-da0a-9ac2-5c52a851bf2e][FATAL] [ERROR] Failed to index bean to index
Mon Feb 18 11:54:33 2019 [64925][58823ce5-3fb4-da0a-9ac2-5c52a851bf2e][FATAL] [ERROR] SuiteCRM\Search\Exceptions\SearchException: Elasticsearch trying to re-indexing a bean but indexer is disabled in configuration. in /usr/www/users/trinijngub/crm.trinityelegance.co.za/lib/Search/ElasticSearch/ElasticSearchHooks.php:121
Stack trace:
#0 /usr/www/users/trinijngub/crm.trinityelegance.co.za/lib/Search/ElasticSearch/ElasticSearchHooks.php(103): SuiteCRM\Search\ElasticSearch\ElasticSearchHooks->reIndex(Object(UserPreference))
#1 /usr/www/users/trinijngub/crm.trinityelegance.co.za/lib/Search/ElasticSearch/ElasticSearchHooks.php(76): SuiteCRM\Search\ElasticSearch\ElasticSearchHooks->reIndexSafe(Object(UserPreference))
#2 /usr/www/users/trinijngub/crm.trinityelegance.co.za/include/utils/LogicHook.php(265): SuiteCRM\Search\ElasticSearch\ElasticSearchHooks->beanSaved(Object(UserPreference), ‘after_save’, ‘’)
#3 /usr/www/users/trinijngub/crm.trinityelegance.co.za/include/utils/LogicHook.php(207): LogicHook->process_hooks(Array, ‘after_save’, ‘’)
#4 /usr/www/users/trinijngub/crm.trinityelegance.co.za/data/SugarBean.php(3133): LogicHook->call_custom_logic(‘UserPreferences’, ‘after_save’, ‘’)
#5 /usr/www/users/trinijngub/crm.trinityelegance.co.za/data/SugarBean.php(2447): SugarBean->call_custom_logic(‘after_save’, ‘’)
#6 /usr/www/users/trinijngub/crm.trinityelegance.co.za/modules/UserPreferences/UserPreference.php(342): SugarBean->save()
#7 /usr/www/users/trinijngub/crm.trinityelegance.co.za/modules/Users/User.php(435): UserPreference->savePreferencesToDB()
#8 /usr/www/users/trinijngub/crm.trinityelegance.co.za/include/utils.php(3329): User->savePreferencesToDB()
#9 /usr/www/users/trinijngub/crm.trinityelegance.co.za/include/MVC/SugarApplication.php(110): sugar_cleanup()
#10 /usr/www/users/trinijngub/crm.trinityelegance.co.za/index.php(52): SugarApplication->execute()
#11 {main}

Can you please share the details of your workflow so we can try to reproduce the error here?

If you want to use screenshots you can put them here

https://pasteboard.co

If you are interested in Elastic Search (a better search just included in the new version), then follow its installation instructions:

https://docs.suitecrm.com/admin/administration-panel/search/elasticsearch/

By reading the error message you’re getting, it seems like this could solve it (although i think this might be a bug).

Hi

The workflow is quite basic

It checks the current project status, and depending on the status it assign it to a specific individual. The Audit process shows that it has run successfully,

https://pasteboard.co/I1QAJZ0.jpg

https://pasteboard.co/I1QB3Py.jpg

https://pasteboard.co/I1QBhbl.jpg

I have attached the images

I initially got this error message right after upgrading to version 7.11.1 from 7.11.0

Parse error: syntax error, unexpected end of file, expecting function (T_FUNCTION) or const (T_CONST) in /usr/www/users/trinijngub/crm.trinityelegance.co.za/modules/AOW_Actions/actions/templateParser.php on line 73

I then added a missing } at line 73 on the php file , I dont know if that was the beggining of my issues.

Im not interested in elastic search as im not that technical, the standard search would do just fine for me.

Regards

M

That is not as simple as adding a “}”

It is fixed in the upcoming version 7.11.2

If you want you can apply the fix manually by making a backup of the file and then replacing the full contents with this:

https://raw.githubusercontent.com/salesagility/SuiteCRM/hotfix/modules/AOW_Actions/actions/templateParser.php

I’m seeing the same errors on a fresh install of 7.11.1. I only discovered them because I was debugging another problem. I checked and ElasticSearch is disabled, according to the panel.

Thank you. I updated the file.

However Im still getting the Indexing error originally posted.

But is the Workflow now working?

Because if the ElasticSearch error is only breaking ElasticSearch, which you don’t use, it seems safe to ignore. Only if it is breaking other functionality we should worry?

The install script adds hooks into custom/modules/logic_hooks.php


$hook_array['after_save'][] = Array(1, 'ElasticSearch Index Changes', 'lib/Search/ElasticSearch/ElasticSearchHooks.php','SuiteCRM\Search\ElasticSearch\ElasticSearchHooks', 'beanSaved'); 
$hook_array['after_delete'][] = Array(1, 'ElasticSearch Index Changes', 'lib/Search/ElasticSearch/ElasticSearchHooks.php','SuiteCRM\Search\ElasticSearch\ElasticSearchHooks', 'beanDeleted'); 

but the code that does the indexing, throws an error if elasticsearch is disabled


if (ElasticSearchIndexer::isEnabled() === false) {
    throw new SearchException(
        'Elasticsearch trying to re-indexing a bean but indexer is disabled in configuration.',
        SearchException::ES_DISABLED
    );
}

I just changed it to log an error, and return instead of erroring out . (At some point I will switch to ES)
Could just as easily remove the hooks if you don’t plan on using it …

Does this solve your issue?

https://github.com/salesagility/SuiteCRM/pull/6986