Direct links to fixes
APAR status
Closed as program error.
Error description
Under heavy loads, requests to the remote Elasticsearch cluster might fail with a timeout exception, causing Process Federation Server to report a runtime exception similar to this exception: Stack Dump = java.lang.RuntimeException: error while performing request at org.elasticsearch.client.RestClient$SyncResponseListener.get(Res tClient.java:682) at org.elasticsearch.client.RestClient.performRequest(RestClient.ja va:220) at org.elasticsearch.client.RestClient.performRequest(RestClient.ja va:192) at org.elasticsearch.client.RestClient.performRequest(RestClient.ja va:154) at com.ibm.bpm.elasticsearch.client.impl.ESClientImpl.getClusterHea lth(ESClientImpl.java:304) at com.ibm.bpm.elasticsearch.client.impl.ESClientComponent.getClust erHealth(ESClientComponent.java:286) at com.ibm.bpm.elasticsearch.impl.ElasticsearchServiceManager.isEla sticsearchReady(lasticsearchServiceManager.java:238) at com.ibm.bpm.elasticsearch.impl.ElasticsearchServiceManager.run(E lasticsearchServiceManager.java:127) at com.ibm.ws.threading.internal.ExecutorServiceImpl$RunnableWrappe r.run(ExecutorServiceImpl.java:239) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.ja va:522) at java.util.concurrent.FutureTask.run(FutureTask.java:277) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExec utor.java:1160) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExe cutor.java:635) at java.lang.Thread.run(Thread.java:818) Caused by: java.util.concurrent.TimeoutException at org.apache.http.nio.pool.AbstractNIOConnPool.processPendingReque st(AbstractNIOConnPool.java:364) at org.apache.http.nio.pool.AbstractNIOConnPool.processNextPendingR equest(AbstractNIOConnPool.java:344) at org.apache.http.nio.pool.AbstractNIOConnPool.release(AbstractNIO ConnPool.java:318) at org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManage r.releaseConnection(oolingNHttpClientConnectionManager.java:303) at org.apache.http.impl.nio.client.AbstractCientExchangeHandler.rel easeConnection(AbstractClientExchangeHandler.java:239) at org.apache.http.impl.nio.client.MainClientExec.responseCompleted (MainClientExec.java:387) at org.apache.http.impl.nio.client.DefaultClientExchangeHandlerImpl .responseCompleted(DefaultClientExchangeHandlerImpl.java:168) at org.apache.http.nio.protocol.HttpAsyncRequestExecutor.processRes ponse(HttpAsyncRequestExecutor.java:436) at org.apache.http.nio.protocol.HttpAsyncRequestExecutor.responseRe ceived(HttpAsyncRequestExecutor.java:309) at org.apache.http.impl.nio.DefaultNHttpClientConnection.consumeInp ut(DefaultNHttpClientConnection.java:255) at org.apache.http.impl.nio.client.InternalIODispatch.onInputReady( InternalIODispatch.java:81) at org.apache.http.impl.nio.client.InternalIODispatch.onInputReady( InternalIODispatch.java:39) at org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(A bstractIODispatch.java:114) at org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIORe actor.java:162) at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent( AbstractIOReactor.java:337) at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents (AbstractIOReactor.java:315) at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(Abstr actIOReactor.java:276) at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIORea ctor.java:104) at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Wo rker.run(AbstractMultiworkerIOReactor.java:588) ... 1 more PRODUCTS AFFECTED IBM Business Automation Workflow
Local fix
Problem summary
No additional information is available.
Problem conclusion
A fix is available or will be available that ensures -Process Federation Server properly processes timeout exceptions when communicating with an external Elasticsearch cluster -Process Federation Server Elasticsearch client provides additional configuration attributes for the <ibmPfs_remoteElasticsearch> configuration element in the server.xml to optionally customise the following configuration properties: -connectTimeout: The maximum length of time Process Federation Server waits to connect to the remote Elasticsearch cluster to call its REST API. Specify a positive integer followed by the unit of time, which can be seconds (s). For example, specify 30 seconds as 30s. The default setting of 10s is used if a value is not set. -readTimeout: The maximum length of time Process Federation Server waits for the remote Elasticsearch to respond. Specify a positive integer followed by the unit of time, which can be seconds (s). For example, specify 60 seconds as 60s. The default setting of 30s is used if a value is not set. -threadCount: The number of worker threads of the Elasticsearch client. Specify an integer. If the specified value is 0 or negative, the Elasticsearch client uses one worker thread per available processor. The default setting of 0 is used if a value is not set. -maxConnTotal: The maximum number of connections allowed across all routes when Process Federation Server connects to the remote Elasticsearch cluster to call its REST API. Specify a positive integer. If the value is provided less or equal to 0, the default Elasticsearch High Level REST Client value is used. -maxConnPerRoute: The maximum number of connections allowed for a route when Process Federation Server connects to the remote Elasticsearch cluster to call its REST API. Specify a positive integer. If the value is provided less or equal to 0, the default Elasticsearch High Level REST Client value is used.
Temporary fix
Not applicable.
Comments
APAR Information
APAR number
JR62950
Reported component name
BUS AUTO WORKFL
Reported component ID
5737H4100
Reported release
J00
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2020-10-23
Closed date
2020-11-03
Last modified date
2020-11-03
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
BUS AUTO WORKFL
Fixed component ID
5737H4100
Applicable component levels
[{"Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SS8JB4","label":"IBM Business Automation Workflow"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"19.0.0.1"}]
Document Information
Modified date:
14 December 2020