ClusterHealthPolicy.ApplicationTypeHealthPolicyMap Property


Gets the map with MaxPercentUnhealthyApplications per application type name.

public System.Fabric.Health.ApplicationTypeHealthPolicyMap ApplicationTypeHealthPolicyMap { get; }
member this.ApplicationTypeHealthPolicyMap : System.Fabric.Health.ApplicationTypeHealthPolicyMap
Public ReadOnly Property ApplicationTypeHealthPolicyMap As ApplicationTypeHealthPolicyMap

Property Value


The application type health policy map with MaxPercentUnhealthyApplications per application type name.


The application type health policy map can be used during cluster health evaluation to describe special application types. By default, all applications are put into a pool and evaluated with MaxPercentUnhealthyApplications. If one or more application types are special and should be treated in a different way, they can be taken out of the global pool and evaluated against the percentages associated with their application type name in the map. For example, in a cluster there are thousands of applications of different types, and a few control application instances of a special application type. The control applications should never be in error. So users can specify global MaxPercentUnhealthyApplications to 20% to tolerate some failures, but for the application type "ControlApplicationType" set the MaxPercentUnhealthyApplications to 0. This way, if some of the many applications are unhealthy, but below the global unhealthy percentage, the cluster would be evaluated to Warning. A warning health state does not impact cluster upgrade or other monitoring triggered by Error health state. But even one control application in error would make cluster health error, which can rollback or prevent a cluster upgrade.


For the application types defined in the map, all application instances are taken out of the global pool of applications. They are evaluated based on the total number of applications of the application type, using the specific MaxPercentUnhealthyApplications from the map. All the rest of the applications remain in the global pool and are evaluated with MaxPercentUnhealthyApplications.

To define entries for the specific application types in the cluster manifest, inside FabricSettings add entries for parameters with name formed by prefix "ApplicationTypeMaxPercentUnhealthyApplications-" followed by application type name.

If no policy is specified for an application type, the default MaxPercentUnhealthyApplications is used for evaluation.

The application type health evaluation is done only when the cluster is configured with EnableApplicationTypeHealthEvaluation true. The setting is disabled by default.

Applies to