Execute TypeManager timers in the correct runtime context#3256
Execute TypeManager timers in the correct runtime context#3256ReubenBond wants to merge 2 commits into
Conversation
|
Makes sense, but I am not sure why so many tests failures... |
|
Not sure why the tests are failing - I'll look into it. |
|
In await StartSiloV2();
await Task.Delay(TimeSpan.FromMinutes(2));
var grainV2 = Client.GetGrain<IVersionUpgradeTestGrain>(2);Any idea why putting a delay in that particular location might help? |
When we start a new silo in an existing cluster, we wait |
|
@dotnet-bot test this please |
|
Could you try to add some delay after we started a new silo? It really seems that the value returned by But I don't understand why it was more reliable before. |
fa86d52 to
98e3910
Compare
|
@dotnet-bot test netstandard-win-functional |
|
@benjaminpetit I've added a 90s wait there now, maybe those tests will be happier. |
|
90s is an eternity. That shouldn't be required for running these tests correctly. Something must be wrong there. |
|
I submitted ReubenBond#7 for this PR, which I hope will fix the test failures. |
8e22717 to
c225393
Compare
|
@sergeybykov the problem with your commit is that it defeats the purpose if this test: if we change the default at runtime, are the silo that are joining the cluster taking this new default value? @ReubenBond It seems that it is still a timing issue, but I don't understand why we didn't had this issue before |
|
Closing this one, as #3309 is a replacement for it. |
In
Silo.DoStart()we should be schedulingTypeManager.Initialize()on the TypeManager's context (it's a system target), since it starts a timer which potentially makes grain calls.The timer started there also needs to invoke its callback on the TypeManager's context.
Otherwise errors (see stack):
