Skip to content

Commit

Permalink
Update docs about heuristic for when BackplaneAutoRecoveryMaxItems li…
Browse files Browse the repository at this point in the history
…mit is reached
  • Loading branch information
jodydonetti committed Oct 18, 2022
1 parent 462e8ab commit 2f6e896
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion docs/Backplane.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ With auto-recovery enabled FusionCache will detect notifications that failed to
Special care has been put into correctly handling some common situations, like:
- if more than one notification is about to be queued for the same cache key, only the last one will be kept since the result of sending 2 notifications for the same cache key back-to-back would be the same
- if a notification is received for a cache key for which there is a queued notification, only the most recent one is kept: if the incoming one is newer, the local one is discarded and the incoming one is processed, otherwise the incoming one is ignored and the local one is sent to the other nodes. This avoids, for example, evicting an entry from a local cache if it has been updated after a change in a remote node, which would be useless
- it is possible to set a limit in how many notifications to keep in the queue via the `BackplaneAutoRecoveryMaxItems` option (default value: `100`, can be `null` to remove any limit) to avoid consuming too much memory or to bombard the backplane as soon as it will become available again. If a notification is about to be queued but the limit has already been reached, an heuristic is used that will remove the notification for the cache entry with the lowest `Duration`, so to lower as possible the impact on the global shared state synchronization.
- it is possible to set a limit in how many notifications to keep in the queue via the `BackplaneAutoRecoveryMaxItems` option (default value: `100`, can be `null` to remove any limit) to avoid consuming too much memory or to bombard the backplane as soon as it will become available again. If a notification is about to be queued but the limit has already been reached, an heuristic is used that will remove the notification for the cache entry that will expire sooner (instant when the notification has been created + cache entry `Duration`), so as to limit as possible the impact on the global shared state synchronization.

**🧪 NOTE:** auto-recovery is available since version `0.14.0`, but it is disabled by default as is considered experimental. As soon as the feature will be tested out in real world projects without any issue, it will probably be enabled by default.

Expand Down

0 comments on commit 2f6e896

Please sign in to comment.