dotnet/orleans

RequestContext cannot be accessed in MayInterleave predicates

Opened this issue · 0 comments

To allow grains to determine on invocation if they should allow interleaving, it's not currently possible to use RequestContext properties in the MayInterleave attribute. This is a little restrictive as the other ways of achieving interleaving calls require setting attributes on the grains or interface methods.

Using the RequestContext in the MayInterleave predicate allows grains to determine based on RequestContext properties set upstream (which weren't explicitly propagated by arguments) whether the method should interleave or not.

Minimal reproducible example:
https://github.com/temcewen/OrleansMayInterleaveBug