dotnet/orleans

Timeout set by client is only respected by top-level grain

Open

#4,328 opened on Mar 27, 2018

View on GitHub
 (2 comments) (0 reactions) (1 assignee)C# (2,123 forks)batch import
hacktoberfesthelp wanted

Repository metrics

Stars
 (10,777 stars)
PR merge metrics
 (Avg merge 2d 2h) (64 merged PRs in 30d)

Description

According to https://github.com/dotnet/orleans/issues/1693#issuecomment-212984821 the timeout set by the client should be respected and propagated down to grains invoked by the grain running on the silo. I have a (fairly) minimal project here that demonstrates it is not: https://github.com/pmsanford/orleans-timeout-propagation-demo

It appears that the request to the first grain completes even if it takes longer than the SiloMessagingOptions.ResponseTimeout. However, any grain calls beyond the initial call only respect the SiloMessagingOptions.ResponseTimeout. Have I misinterpreted the comment on the linked issue or is this a bug?

Should a timeout set on MessagingOptions (or ClientMessagingOptions (??)) on the client side propagate through all grain activations on the silo?

Edited to add: This is on OSX, with dotnet --version 2.1.4 and Orleans version 2.0.0-rc2

Contributor guide