# ActivationRepartitionerOptions Properties

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.activationrepartitioneroptions/)

## AnchoringFilterEnabled {#anchoringfilterenabled-8a0c0d4c}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.activationrepartitioneroptions/properties/anchoringfilterenabled-8a0c0d4c/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Configuration/Options/ActivationRepartitionerOptions.cs)

```csharp
public bool AnchoringFilterEnabled
```

Gets or sets a value indicating whether to enable the local vertex filter. This filter tracks which vertices are well-partitioned (moving them from the local host would be detrimental) and collapses them into a single per-silo vertex to reduce the space required to track edges involving that vertex. The result is a reduction in accuracy but a potentially significant increase in effectiveness of the repartitioner, since well-partitioned edges will not dominate the top-K data structure, leaving sufficient room to track non-well-partitioned vertices. This is enabled by default.

## AnchoringFilterGenerations {#anchoringfiltergenerations-9cf368f3}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.activationrepartitioneroptions/properties/anchoringfiltergenerations-9cf368f3/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Configuration/Options/ActivationRepartitionerOptions.cs)

```csharp
public int AnchoringFilterGenerations
```

Determines how long anchoring history is retained. A lower generation count keeps the filter fresher, but might forget anchored grains too quickly. A higher generation count retains history longer, but increases the memory usage and the risk of saturation.

Because the filter decays exactly once per repartitioning round, the actual time a "cold" grain remains anchored is directly tied to [ActivationRepartitionerOptions](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.activationrepartitioneroptions/) and [ActivationRepartitionerOptions](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.activationrepartitioneroptions/). For example with the default of 3 generations and round periods randomly firing between 1-2 mins, a grain that goes completely "cold" will be retained in the filter for 4.5 mins (on average) before being dropped.

## MaxEdgeCount {#maxedgecount-c3aca9e9}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.activationrepartitioneroptions/properties/maxedgecount-c3aca9e9/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Configuration/Options/ActivationRepartitionerOptions.cs)

```csharp
public int MaxEdgeCount
```

The maximum number of edges to retain in-memory during a repartitioning round. An edge represents how many calls were made from one grain to another.

If this number is N, it does not mean that N activations will be migrated after a repartitioning round. It also does not mean that if any activation ranked very high, that it will rank high at the next cycle. At the most extreme case, the number of activations that will be migrated, will equal this number, so this should give you some idea as to setting a reasonable value for this.

## MaxRoundPeriod {#maxroundperiod-01994f40}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.activationrepartitioneroptions/properties/maxroundperiod-01994f40/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Configuration/Options/ActivationRepartitionerOptions.cs)

```csharp
public TimeSpan MaxRoundPeriod
```

The maximum time between initiating a repartitioning round.

## MaxUnprocessedEdges {#maxunprocessededges-bd1503c6}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.activationrepartitioneroptions/properties/maxunprocessededges-bd1503c6/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Configuration/Options/ActivationRepartitionerOptions.cs)

```csharp
public int MaxUnprocessedEdges
```

The maximum number of unprocessed edges to buffer. If this number is exceeded, the oldest edges will be discarded.

## MinRoundPeriod {#minroundperiod-3f982afa}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.activationrepartitioneroptions/properties/minroundperiod-3f982afa/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Configuration/Options/ActivationRepartitionerOptions.cs)

```csharp
public TimeSpan MinRoundPeriod
```

The minimum time between initiating a repartitioning round.

## ProbabilisticFilteringMaxAllowedErrorRate {#probabilisticfilteringmaxallowederrorrate-aa3a20d6}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.activationrepartitioneroptions/properties/probabilisticfilteringmaxallowederrorrate-aa3a20d6/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Configuration/Options/ActivationRepartitionerOptions.cs)

```csharp
public double ProbabilisticFilteringMaxAllowedErrorRate
```

The maximum allowed error rate when [ActivationRepartitionerOptions](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.activationrepartitioneroptions/) is set to `true`, otherwise this does not apply.

## RecoveryPeriod {#recoveryperiod-3ff2fcf1}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.configuration.activationrepartitioneroptions/properties/recoveryperiod-3ff2fcf1/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Configuration/Options/ActivationRepartitionerOptions.cs)

```csharp
public TimeSpan RecoveryPeriod
```

The minimum time needed for a silo to recover from a previous repartitioning round. Until this time has elapsed, this silo will not take part in any repartitioning attempt from another silo.
