From 6d21b575bf4a3705ecd9a5209c34e9674d7f534a Mon Sep 17 00:00:00 2001 From: Chris Collins Date: Fri, 1 Jul 2022 15:35:26 -0400 Subject: [PATCH] fix(validation) Fail validation error silently instead of crashing (#5314) --- .../DatasetAssertionDescription.tsx | 35 +++++++++++-------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/DatasetAssertionDescription.tsx b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/DatasetAssertionDescription.tsx index a734e897efbb62..c9c81c0bcbbd58 100644 --- a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/DatasetAssertionDescription.tsx +++ b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/DatasetAssertionDescription.tsx @@ -45,7 +45,8 @@ const getSchemaAggregationText = ( ); } default: - throw new Error(`Unsupported schema aggregation assertion ${aggregation} provided.`); + console.error(`Unsupported schema aggregation assertion ${aggregation} provided.`); + return Dataset columns are; } }; @@ -62,7 +63,8 @@ const getRowsAggregationText = (aggregation: AssertionStdAggregation | undefined case AssertionStdAggregation.Native: return Dataset rows are; default: - throw new Error(`Unsupported Dataset Rows Aggregation ${aggregation} provided`); + console.error(`Unsupported Dataset Rows Aggregation ${aggregation} provided`); + return Dataset rows are; } }; @@ -74,36 +76,38 @@ const getColumnAggregationText = ( aggregation: AssertionStdAggregation | undefined | null, field: SchemaFieldRef | undefined, ) => { + let columnText = field?.path; if (field === undefined) { - throw new Error(`Invalid field provided for Dataset Assertion with scope Column ${JSON.stringify(field)}`); + columnText = 'undefined'; + console.error(`Invalid field provided for Dataset Assertion with scope Column ${JSON.stringify(field)}`); } switch (aggregation) { // Hybrid Aggregations case AssertionStdAggregation.UniqueCount: { return ( - Unique value count for column {field.path} is + Unique value count for column {columnText} is ); } case AssertionStdAggregation.UniquePropotion: { return ( - Unique value proportion for column {field.path} is + Unique value proportion for column {columnText} is ); } case AssertionStdAggregation.NullCount: { return ( - Null count for column {field.path} is + Null count for column {columnText} is ); } case AssertionStdAggregation.NullProportion: { return ( - Null proportion for column {field.path} is + Null proportion for column {columnText} is ); } @@ -111,35 +115,35 @@ const getColumnAggregationText = ( case AssertionStdAggregation.Min: { return ( - Minimum value for column {field.path} is + Minimum value for column {columnText} is ); } case AssertionStdAggregation.Max: { return ( - Maximum value for column {field.path} is + Maximum value for column {columnText} is ); } case AssertionStdAggregation.Mean: { return ( - Mean value for column {field.path} is + Mean value for column {columnText} is ); } case AssertionStdAggregation.Median: { return ( - Median value for column {field.path} is + Median value for column {columnText} is ); } case AssertionStdAggregation.Stddev: { return ( - Standard deviation for column {field.path} is + Standard deviation for column {columnText} is ); } @@ -147,7 +151,7 @@ const getColumnAggregationText = ( case AssertionStdAggregation.Native: { return ( - Column {field.path} values are + Column {columnText} values are ); } @@ -155,7 +159,7 @@ const getColumnAggregationText = ( // No aggregation on the column at hand. Treat the column as a set of values. return ( - Column {field.path} values are + Column {columnText} values are ); } @@ -177,7 +181,8 @@ const getAggregationText = ( case DatasetAssertionScope.DatasetColumn: return getColumnAggregationText(aggregation, fields?.length === 1 ? fields[0] : undefined); default: - throw new Error(`Unsupported Dataset Assertion scope ${scope} provided`); + console.error(`Unsupported Dataset Assertion scope ${scope} provided`); + return 'Dataset is'; } };