-
Bug
-
Resolution: Done
-
Major
-
None
-
None
Stability monitors are unreliable and must be removed in the future.
Simplest usecase to demonstrate the problem is:
1) user code is going to install service A
2) user code associates StabilityMonitor with service builder for Service A
3) user code associates Service A with service builder
4) user code executes service builder install() method
5) user code calls StabilityMonitor.awaitStability() to wait for Service A (to let it achieve stability)
6) blocking function call 5) succedes and returns control to user code
After step 6) user code might expect Service A is in stable state.
But since StabilityMonitor doesn't block services in any way this might not be true.
Code relying on it is really error prone.