Issue
Users are unable to see the tasks under the 'My Workflow Tasks' menu after a workflow has been assigned to them for approval and the following errors related to elastic search and Kaleo instance token are observed in the logs:
java.lang.RuntimeException: org.elasticsearch.ElasticsearchStatusException: ElasticsearchStatusException[Elasticsearch exception [type=search_phase_execution_exception, reason=all shards failed]]; nested: ElasticsearchException[Elasticsearch exception [type=illegal_argument_exception, reason=Fielddata is disabled on [completed_String_sortable] in [liferay-89005068585571-20240507173701]. Text fields are not optimised for operations that require per-document field data like aggregations and sorting, so these operations are disabled by default. Please use a keyword field instead. Alternatively, set fielddata=true on [completed_String_sortable] in order to load field data by uninverting the inverted index. Note that this can use significant memory.]]; nested: ElasticsearchException[Elasticsearch exception [type=illegal_argument_exception, reason=Fielddata is disabled on [completed_String_sortable] in [liferay-89005068585571-20240507173701]. Text fields are not optimised for operations that require per-document field data like aggregations and sorting, so these operations are disabled by default. Please use a keyword field instead. Alternatively, set fielddata=true on [completed_String_sortable] in order to load field data by uninverting the inverted index. Note that this can use significant memory.]];\n\tat org.elasticsearch.rest.BytesRestResponse.errorFromXContent(BytesRestResponse.java:178) ~[?:?]\n\tat org.elasticsearch.client.RestHighLevelClient.parseEntity(RestHighLevelClient.java:2484) ~[?:?]\n\tat org.elasticsearch.client.RestHighLevelClient.parseResponseException(RestHighLevelClient.java:2461) ~[?:?]\n\tat org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:2184) ~[?:?]\n\tat org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:2137) ~[?:?]\n\tat org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:2105) ~[?:?]\n\tat org.elasticsearch.client.RestHighLevelClient.search(RestHighLevelClient.java:1367) ~[?:?]\n\tat com.liferay.portal.search.elasticsearch7.internal.search.engine.adapter.search.SearchSearchRequestExecutorImpl._getSearchResponse(SearchSearchRequestExecutorImpl.java:135) ~[?:?]\n\tat com.liferay.portal.search.elasticsearch7.internal.search.engine.adapter.search.SearchSearchRequestExecutorImpl.execute(SearchSearchRequestExecutorImpl.java:68) ~[?:?]\n\tat com.liferay.portal.search.elasticsearch7.internal.search.engine.adapter.search.ElasticsearchSearchRequestExecutor.executeSearchRequest(ElasticsearchSearchRequestExecutor.java:78) ~[?:?]\n\tat com.liferay.portal.search.engine.adapter.search.SearchSearchRequest.accept(SearchSearchRequest.java:37) ~[?:?]\n\tat com.liferay.portal.search.engine.adapter.search.SearchSearchRequest.accept(SearchSearchRequest.java:26) ~[?:?]\n\tat com.liferay.portal.search.elasticsearch7.internal.search.engine.adapter.ElasticsearchSearchEngineAdapterImpl.execute(ElasticsearchSearchEngineAdapterImpl.java:94) ~[?:?]\n\tat com.liferay.portal.search.elasticsearch7.internal.ElasticsearchIndexSearcher._search(ElasticsearchIndexSearcher.java:558) ~[?:?]\n\tat com.liferay.portal.search.elasticsearch7.internal.ElasticsearchIndexSearcher.search(ElasticsearchIndexSearcher.java:140) ~[?:?]\n\tat com.liferay.portal.search.internal.IndexSearcherHelperImpl.search(IndexSearcherHelperImpl.java:59) ~[?:?]\n\tat com.liferay.portal.search.internal.searcher.helper.IndexSearcherHelperImpl.search(IndexSearcherHelperImpl.java:33) ~[?:?]\n\tat com.liferay.portal.search.internal.indexer.IndexerSearcherImpl._doSearch(IndexerSearcherImpl.java:130) ~[?:?]\n\tat com.liferay.portal.search.internal.indexer.IndexerSearcherImpl._search(IndexerSearcherImpl.java:185) ~[?:?]\n\tat com.liferay.portal.search.internal.indexer.IndexerSearcherImpl.search(IndexerSearcherImpl.java:90) ~[?:?]\n\tat com.liferay.portal.search.internal.indexer.DefaultIndexer.search(DefaultIndexer.java:282) ~[?:?]\n\tat com.liferay.portal.workflow.kaleo.service.impl.KaleoTaskInstanceTokenLocalServiceImpl._search(KaleoTaskInstanceTokenLocalServiceImpl.java:995) ~[?:?]\n\tat com.liferay.portal.workflow.kaleo.service.impl.KaleoTaskInstanceTokenLocalServiceImpl.searchKaleoTaskInstanceTokens(KaleoTaskInstanceTokenLocalServiceImpl.java:776) ~[?:?]\n\tat jdk.internal.reflect.GeneratedMethodAccessor5387.invoke(Unknown Source) ~[?:?]\n\tat jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]\n\tat java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]\n\tat com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:41) ~
Environment
- Liferay DXP 7.4
Resolution
-
Reindexing of the following Kaleo-related tasks might help to resolve the issue:
1. Kaleo Instance (com.liferay.portal.workflow.kaleo.model.KaleoInstance)
2. Kaleo Instance Token (com.liferay.portal.workflow.kaleo.model.KaleoInstanceToken)
3. Kaleo Log (com.liferay.portal.workflow.kaleo.model.KaleoLog)
4. Kaleo Task Instance Token (com.liferay.portal.workflow.kaleo.model.KaleoTaskInstanceToken)
- However, if reindexing of the above does not help, a full re-indexing might narrow down the issue here.