🔒 Fix for distributed lock release when skipping L2 write
Community member @joaopbnogueira spotted a problem with an edge case: when using SkipDistributedCacheWrite the distributed locker was not being properly disposed, which was unfortunate.
Now this has been fixed.
See here for the issue.
🏷️ Fix for tag marker re-materialization
Community member @igor-henriques noticed an issues because of which when the tag marker (the special cache entry containing the RemoveByTag() timestamp) expired, it was being re-materialized with a newer timestamp: this could have led to the same results as a new RemoveByTag() call.
That was unfortunate, but it has now been fixed.
See here for the issue.
🏷️ Better handling of RemoveByTagBehavior.Remove
Community member @gpetrou asked for some help regarding a certain scenario, and during the explanation/investigation it emerged that FusionCache could have handled RemoveByTagBehavior.Remove in a slightly better way.
It was mostly an edge case, but still: now the way it is internally handled is even better than before.
See here for the issue.
🔭 Better observability for user-initiated cancellations
Community member @dzmitry-tsarevich highlighted that user-initiated cancellations were being handled in a little-too-aggressive way from the oint of view of observability: too much background noise was being generated, which could lead to bloat.
Now this has been made better, slimmer.
See here for the issue.
👷 New builder ext methods
Community member @Stepami noticed the lack of a specific ext method on the builder to register the distributed locker based on Redis, basically WithRedisDistributedLocker().
After accepting his PR, I noticed a couple of extra ones were also missing, and so I added them.
See here for the issue.
Also, community member @petriceko asked for a new overload of the WithOptions() ext method with better DI support: promptly, community member @vrbyjimmy made a PR to add that, which I merged.
Talk about community collaboration 🙂
See here for the issue.