問題
- リモートのElasticsearch 6.5/6.8および7.4でWorkflow Metricsをナビゲートまたは再インデックス化すると「IOException: can not write type」エラーが発生する。
-
再現するための手順
1) Liferay DXP 7.2のクリーンなインスタンスをデフォルト設定で動作させてください。2 がデフォルト設定で動作している
2) Elasticsearch 6 サーバーが動作している
3) コントロールパネル > ワークフロー > メトリクス
4) さて、navigate to Control Panel > Configuration > System Settings > Search > Elasticsearch 6
5) Change 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: Single Approver のワークフローメトリクスは、ステップ 3 と 8 に表示されます。
観察された動作 ステップ 8(ES6 REMOTE)では、ワークフローメトリクスは表示されません。 その代わり、ローディングアイコンが永遠に表示されます。 以下のスタックトレースが投げられますが、ポータル起動時に1回だけです。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
解決策
-
この現象は、Fix Pack liferay-dxp-4以降で対応された既知の問題です。
- これらの懸念に対してHotfixが必要な場合、パッチの詳細を添付してHotfixを要求するサポートチケットを作成してください。
- Liferay DXPへのFix PackとHotfixのインストール では、お客様の環境でのFixpack/Hotfixのインストール方法をご案内しています。