You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Our cloud instance has crashed several times since instrumenting Kibana with the APM agent:
TypeError: request.abort is not a function
at AbortSignal.options.signal.addEventListener (/home/apm/elastic/kibana/src/core/server/elasticsearch/cluster_client.ts:67:19)
at Timeout._onTimeout (/home/apm/elastic/kibana/node_modules/abortcontroller-polyfill/dist/cjs-ponyfill.js:153:27)
at ontimeout (timers.js:436:11)
at tryOnTimeout (timers.js:300:5)
at listOnTimeout (timers.js:263:5)
at Timer.processTimers (timers.js:223:10)
Sending error to Elastic APM { id: '82c0025cbfbe1e4359e3da795e16758c' }
request is a promise returned by the Elasticsearch client. abort() will be called when for some reason the consumer wants to abort the request (for instance, when the request is taking too long). However, abort() is no longer available when the APM agent has instrumented Kibana, perhaps because it intercepts the promise but does not copy over the abort method.
Steps to reproduce:
Activate the APM agent by creating config/apm.dev.js:
module.exports={active: true};
add the following lines to src/legacy/core_plugins/elasticsearch/lib/abortable_request_handler.js:
Unfortunately not, sorry. It's on my todo-list. Here's the PR's that I've made to fix it, but I got stuck on a failing test and never got any further. If anybody has time to help I'd be happy to review:
Kibana version:
7.6
Describe the bug:
Our cloud instance has crashed several times since instrumenting Kibana with the APM agent:
request
is a promise returned by the Elasticsearch client.abort()
will be called when for some reason the consumer wants to abort the request (for instance, when the request is taking too long). However,abort()
is no longer available when the APM agent has instrumented Kibana, perhaps because it intercepts the promise but does not copy over theabort
method.Steps to reproduce:
config/apm.dev.js
:src/legacy/core_plugins/elasticsearch/lib/abortable_request_handler.js
:This will abort a request to the ES proxy endpoint (
/elasticsearch/_search
) after 100ms.Management > Index Patterns > Create index pattern
. This should then call the ES proxy endpoint and crash Kibana.Expected behavior:
Kibana should not crash when a request times out for whatever reason.
Any additional context:
The impact will be small, because users will not have instrumented Kibana with the APM agent, and it only happens on long-running requests or aborts.
@sqren @watson
The text was updated successfully, but these errors were encountered: