Skip to content

Commit 1f2d3de

Browse files
authored
[MetricsAdvisor] Fix Update methods issues (Azure#16696)
1 parent 5895274 commit 1f2d3de

File tree

10 files changed

+111
-117
lines changed

10 files changed

+111
-117
lines changed

sdk/metricsadvisor/Azure.AI.MetricsAdvisor/CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@
4545

4646
### Key Bug Fixes
4747
- Fixed a bug in sync and async `GetMetricEnrichedSeriesData` methods where a `NullReferenceException` was thrown if a returned data point had missing data.
48+
- Fixed a bug in sync and async `UpdateDataFeed` methods where a `RequestFailedException` was thrown if a data feed without custom `DataFeedMissingDataPointFillType` was updated.
49+
- Fixed a bug in sync and async `UpdateAlertConfiguration` methods where a `RequestFailedException` was thrown if a configuration with only one `MetricAnomalyAlertConfiguration` was updated.
4850

4951
## 1.0.0-beta.1 (2020-10-08)
5052

sdk/metricsadvisor/Azure.AI.MetricsAdvisor/src/Models/AlertTriggering/AnomalyAlertConfiguration.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ internal AnomalyAlertingConfigurationPatch GetPatchModel()
7878
{
7979
return new AnomalyAlertingConfigurationPatch()
8080
{
81-
CrossMetricsOperator = CrossMetricsOperator.HasValue ? new AnomalyAlertingConfigurationPatchCrossMetricsOperator(CrossMetricsOperator.Value.ToString()) : default,
81+
CrossMetricsOperator = CrossMetricsOperator.HasValue ? new AnomalyAlertingConfigurationPatchCrossMetricsOperator(CrossMetricsOperator.Value.ToString()) : default(AnomalyAlertingConfigurationPatchCrossMetricsOperator?),
8282
Description = Description,
8383
Name = Name,
8484
HookIds = IdsOfHooksToAlert.Select(h => new Guid(h)).ToList(),

sdk/metricsadvisor/Azure.AI.MetricsAdvisor/src/Models/DataFeed/DataFeed.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ internal DataFeedDetailPatch GetPatchModel()
244244
DataFeedDetailPatch patch = DataSource.InstantiateDataFeedDetailPatch();
245245

246246
patch.DataFeedName = Name;
247-
patch.Status = Status.HasValue ? new DataFeedDetailPatchStatus(Status.ToString()) : default;
247+
patch.Status = Status.HasValue ? new DataFeedDetailPatchStatus(Status.ToString()) : default(DataFeedDetailPatchStatus?);
248248

249249
patch.TimestampColumn = Schema.TimestampColumn;
250250

@@ -256,19 +256,19 @@ internal DataFeedDetailPatch GetPatchModel()
256256

257257
patch.DataFeedDescription = Description;
258258
patch.ActionLinkTemplate = ActionLinkTemplate;
259-
patch.ViewMode = AccessMode.HasValue == true ? new DataFeedDetailPatchViewMode(AccessMode.ToString()) : default;
259+
patch.ViewMode = AccessMode.HasValue == true ? new DataFeedDetailPatchViewMode(AccessMode.ToString()) : default(DataFeedDetailPatchViewMode?);
260260

261261
if (RollupSettings != null)
262262
{
263263
patch.AllUpIdentification = RollupSettings.AlreadyRollupIdentificationValue;
264-
patch.NeedRollup = RollupSettings.RollupType.HasValue ? new DataFeedDetailPatchNeedRollup(RollupSettings.RollupType.ToString()) : default;
265-
patch.RollUpMethod = RollupSettings.RollupMethod.HasValue ? new DataFeedDetailPatchRollUpMethod(RollupSettings.RollupMethod.ToString()) : default;
264+
patch.NeedRollup = RollupSettings.RollupType.HasValue ? new DataFeedDetailPatchNeedRollup(RollupSettings.RollupType.ToString()) : default(DataFeedDetailPatchNeedRollup?);
265+
patch.RollUpMethod = RollupSettings.RollupMethod.HasValue ? new DataFeedDetailPatchRollUpMethod(RollupSettings.RollupMethod.ToString()) : default(DataFeedDetailPatchRollUpMethod?);
266266
patch.RollUpColumns = RollupSettings.AutoRollupGroupByColumnNames;
267267
}
268268

269269
if (MissingDataPointFillSettings != null)
270270
{
271-
patch.FillMissingPointType = MissingDataPointFillSettings.FillType.HasValue ? new DataFeedDetailPatchFillMissingPointType(MissingDataPointFillSettings.FillType.ToString()) : default;
271+
patch.FillMissingPointType = MissingDataPointFillSettings.FillType.HasValue ? new DataFeedDetailPatchFillMissingPointType(MissingDataPointFillSettings.FillType.ToString()) : default(DataFeedDetailPatchFillMissingPointType?);
272272
patch.FillMissingPointValue = MissingDataPointFillSettings.CustomFillValue;
273273
}
274274

sdk/metricsadvisor/Azure.AI.MetricsAdvisor/src/Models/DataFeed/DataFeedMissingDataPointFillSettings.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@ public DataFeedMissingDataPointFillSettings()
1919
internal DataFeedMissingDataPointFillSettings(DataFeedDetail dataFeedDetail)
2020
{
2121
FillType = dataFeedDetail.FillMissingPointType;
22-
CustomFillValue = dataFeedDetail.FillMissingPointValue;
22+
CustomFillValue = dataFeedDetail.FillMissingPointType == DataFeedMissingDataPointFillType.CustomValue
23+
? dataFeedDetail.FillMissingPointValue
24+
: null;
2325
}
2426

2527
/// <summary>

sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/Samples/Sample01_DataFeedCrudOperations.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,6 @@ public async Task GetDataFeedAsync()
116116
}
117117

118118
[Test]
119-
[Ignore("https://github.com/Azure/azure-sdk-for-net/issues/16168")]
120119
public async Task UpdateDataFeedAsync()
121120
{
122121
string endpoint = MetricsAdvisorUri;

sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/Samples/Sample05_AlertConfigurationCrudOperations.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,6 @@ public async Task GetAlertConfigurationAsync()
9191
}
9292

9393
[Test]
94-
[Ignore("https://github.com/Azure/azure-sdk-for-net/issues/16168")]
9594
public async Task UpdateAlertConfigurationAsync()
9695
{
9796
string endpoint = MetricsAdvisorUri;

sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/SessionRecords/MetricsAdvisorAdministrationClientLiveTests/CreateAndUpdateBlobDataFeed.json

Lines changed: 25 additions & 27 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/SessionRecords/MetricsAdvisorAdministrationClientLiveTests/CreateAndUpdateBlobDataFeedAsync.json

Lines changed: 25 additions & 27 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)