diff --git a/x-pack/legacy/plugins/monitoring/public/components/no_data/checker_errors.js b/x-pack/legacy/plugins/monitoring/public/components/no_data/checker_errors.js index f56f7bd099c5d..d6f57d6f7479a 100644 --- a/x-pack/legacy/plugins/monitoring/public/components/no_data/checker_errors.js +++ b/x-pack/legacy/plugins/monitoring/public/components/no_data/checker_errors.js @@ -16,17 +16,27 @@ import { import { FormattedMessage } from '@kbn/i18n/react'; const ErrorList = ({ errors }) => { - return errors.map((error, errorIndex) => { - const { message, statusCode, error: friendlyName } = error; - return ( - - - {statusCode} {friendlyName} - - {message} - - ); - }); + const errorsMap = {}; + return errors + .filter(err => { + const { statusCode, error, message } = err; + const key = `${statusCode}${error}${message}`; + if (!errorsMap[key]) { + errorsMap[key] = true; + return true; + } + }) + .map((error, errorIndex) => { + const { message, statusCode, error: friendlyName } = error; + return ( + + + {statusCode} {friendlyName} + + {message} + + ); + }); }; export function CheckerErrors(props) { diff --git a/x-pack/legacy/plugins/monitoring/public/views/no_data/controller.js b/x-pack/legacy/plugins/monitoring/public/views/no_data/controller.js index eefb8bc393091..a914aa0155e90 100644 --- a/x-pack/legacy/plugins/monitoring/public/views/no_data/controller.js +++ b/x-pack/legacy/plugins/monitoring/public/views/no_data/controller.js @@ -45,6 +45,7 @@ export class NoDataController extends MonitoringViewBaseController { } } + this.errors.length = 0; if (catchReason) { this.reason = catchReason; } else if (!this.isCollectionEnabledUpdating && !this.isCollectionIntervalUpdating) {