Issue
- The 'IOException: can not write type' error when navigating or re-indexing Workflow Metrics with remote Elasticsearch 6.5/6.8 and 7.4
-
Steps to Reproduce:
1) Have a clean instance of Liferay DXP 7.2 running with default settings
2) Have an Elasticsearch 6 server running
3) Go to Control Panel > Workflow > Metrics
4) Now, navigate to Control Panel > Configuration > System Settings > Search > Elasticsearch 6
5) Change the Operation Mode from EMBEDDED to REMOTE
6) Go to Control Panel > Workflow > Metrics
7) Go to Control Panel > Search > 'Reindex all search indexes' > Execute
8) Go to Control Panel > Workflow > Metrics
Expected Behavior: Workflow Metrics for Single Approver are shown on steps 3 and 8.
Observed Behavior: Workflow Metrics are not shown on step 8 (ES6 REMOTE). Instead, the loading icon is displayed forever. The following stack trace is thrown, but only once per portal startup.ERROR [http-nio-7280-exec-6][ExceptionMapper:31] UncategorizedExecutionException[Failed execution]; nested: IOException[can not write type [class com.liferay.portal.workflow.metrics.sla.processor.WorkfowMetricsSLAStatus]]; UncategorizedExecutionException[Failed execution]; nested: IOException[can not write type [class com.liferay.portal.workflow.metrics.sla.processor.WorkfowMetricsSLAStatus]]; at org.elasticsearch.common.util.concurrent.FutureUtils.rethrowExecutionException(FutureUtils.java:97) at org.elasticsearch.common.util.concurrent.FutureUtils.get(FutureUtils.java:62) at org.elasticsearch.action.support.AdapterActionFuture.actionGet(AdapterActionFuture.java:34) at org.elasticsearch.action.ActionRequestBuilder.get(ActionRequestBuilder.java:53) at com.liferay.portal.search.elasticsearch6.internal.search.engine.adapter.search.SearchSearchRequestExecutorImpl.execute(SearchSearchRequestExecutorImpl.java:49) at com.liferay.portal.search.elasticsearch6.internal.search.engine.adapter.search.ElasticsearchSearchRequestExecutor.executeSearchRequest(ElasticsearchSearchRequestExecutor.java:59) at com.liferay.portal.workflow.metrics.rest.internal.resource.v1_0.ProcessResourceImpl._getSLATermsAggregationResult(ProcessResourceImpl.java:548) at com.liferay.portal.workflow.metrics.rest.internal.resource.v1_0.ProcessResourceImpl._getProcesses(ProcessResourceImpl.java:426) at com.liferay.portal.workflow.metrics.rest.internal.resource.v1_0.ProcessResourceImpl.getProcessesPage(ProcessResourceImpl.java:141) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
Environment
- Liferay DXP 7.2
Resolution
-
The observed behavior is a known issue that has been addressed in Fix Pack liferay-dxp-4 and later.
- If the hotfix is required for these concerns, please create a support ticket requesting the hotfix by attaching the patch details.
- Installing Fix Packs and Hotfixes on Liferay DXP will guide you to install the Fixpack/Hotfix in your environment.