Skip to content

Change Feed Processor - Missing potential errors on Notifications for Load Balancer #3453

@ealsur

Description

@ealsur

During Load Balancing process, if there is a failure on:

https://github.com/Azure/azure-cosmos-dotnet-v3/blob/master/Microsoft.Azure.Cosmos/src/ChangeFeedProcessor/FeedManagement/PartitionLoadBalancerCore.cs#L80-L81

It is not registered on the Notifications API.

In order to include these failures, the PartitionLoadBalancerCore needs to receive in its constructor, the ChangeFeedProcessorHealthMonitor , like https://github.com/Azure/azure-cosmos-dotnet-v3/blob/master/Microsoft.Azure.Cosmos/src/ChangeFeedProcessor/FeedManagement/PartitionControllerCore.cs#L34.

With the monitor, we can then log any issue on https://github.com/Azure/azure-cosmos-dotnet-v3/blob/master/Microsoft.Azure.Cosmos/src/ChangeFeedProcessor/FeedManagement/PartitionLoadBalancerCore.cs#L96-L100

catch (Exception e)
{
	Extensions.TraceException(e);
	DefaultTrace.TraceError("Partition load balancer iteration failed");
	await this.monitor.NotifyErrorAsync("Partition load balancer", e);
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    DiagnosticsIssues around diagnostics and troubleshootingimprovementChange to existing functional behavior (perf, logging, etc.)

    Type

    No type

    Projects

    Status

    Triage

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions