Code review comment for lp:~marcustomlinson/unity-scopes-api/fix_debug_mode_locate_timeout

Revision history for this message
Marcus Tomlinson (marcustomlinson) wrote :

The main fix here is:

26 + auto future = mw_base()->twoway_pool()->submit([&] { return this->invoke_twoway_(request_builder, -1, 30000); });

We need to actually use debug timeouts when requesting whether a scope is in debug mode :P

The problem is the initial locate() call that happens implicitly when making any request to a scope. This call was using the normal timeout constraint. Issue there is if a scope actually is in debug mode it takes longer to start up, hence that locate() call times out.

In the situation where a scope is not in debug mode but is starting up too slowly, it will not take 30s to timeout. In this case the registry's own "Process.Timeout" will kick in (which is configured according to the debug_mode status of each scope as it is added), causing the timeout to occur at a regular timeout for regular scope, and at an extended timeout for "debug mode" scopes.

« Back to merge proposal