This is an automated email from the ASF dual-hosted git repository.
apucher pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pinot.git
The following commit(s) were added to refs/heads/master by this push:
new bcd05ed [TE] alert performnace - resilience to missing alert (#3497)
bcd05ed is described below
commit bcd05edacab5cd4c45c8fc7e55ad14b0ed0694c1
Author: Steve McClung <[email protected]>
AuthorDate: Mon Nov 19 16:22:36 2018 -0600
[TE] alert performnace - resilience to missing alert (#3497)
Rather than halting the display of alert performance metrics by Application
to display "bad ids", we are now simply ignoring them. Further improvements
here can be lazy-loading the perf table, and using concurrency tasks for these
calls.
---
.../app/pods/manage/alerts/performance/route.js | 15 +--------------
1 file changed, 1 insertion(+), 14 deletions(-)
diff --git
a/thirdeye/thirdeye-frontend/app/pods/manage/alerts/performance/route.js
b/thirdeye/thirdeye-frontend/app/pods/manage/alerts/performance/route.js
index bed7814..548b23b 100644
--- a/thirdeye/thirdeye-frontend/app/pods/manage/alerts/performance/route.js
+++ b/thirdeye/thirdeye-frontend/app/pods/manage/alerts/performance/route.js
@@ -208,10 +208,6 @@ export default Route.extend({
const groupsWithAppName = activeGroups.filter(group =>
isPresent(group.application));
const groupsWithAlertId = groupsWithAppName.filter(group =>
group.emailConfig.functionIds.length > 0);
const filteredGroups = isDemoMode ? groupsWithAlertId.slice(0, 3) :
groupsWithAlertId;
-
- // NOTE: use this in order to find non-existent alert in the event of an
error
- // filteredGroups.filter(group =>
group.emailConfig.functionIds.includes(45639479)));
-
const idsByApplication = fillAppBuckets(model.applications,
filteredGroups);
Object.assign(model, { idsByApplication });
},
@@ -239,16 +235,7 @@ export default Route.extend({
// Get perf data for each alert and assign it to the model
fetchAppAnomalies(idsByApplication, startDate, endDate)
.then((richFunctionObjects) => {
- // Catch any rejected promises
- if (isPromiseRejected(richFunctionObjects)) {
- const badId = richFunctionObjects.filter(obj => obj.state !==
'fulfilled').map((obj) => {
- return getWithDefault(obj, 'reason.response.url',
'').split('?')[0].split('/').pop();
- });
- const errMsg = badId.length ? `API error with alert ids
${badId.join(',')}` : 'API error';
- throw new Error(errMsg);
- }
-
- const newFunctionObjects = richFunctionObjects.map(obj => obj.value);
+ const newFunctionObjects = richFunctionObjects.filter(obj => obj.state
=== 'fulfilled').map(obj => obj.value);
const availableGroups = Array.from(new
Set(newFunctionObjects.map(alertObj => alertObj.name)));
const roundable = ['totalAlerts', 'totalResponses', 'falseAlarm',
'newTrend', 'trueAnomalies', 'userReportAnomaly'];
let sortMenuGlyph = {};
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]