-
Notifications
You must be signed in to change notification settings - Fork 55
Start engine services in Start() instead of constructor. #389
Conversation
|
This turned into a lot more of a nullability improvement PR than I intended, as adapting a test wound up involving chasing down everywhere that uninitialized services could result in null reference exceptions. Apologies for the noisy PR as a result of that. |
|
/azp run |
|
Azure Pipelines successfully started running 2 pipeline(s). |
|
It looks like something else is going wrong with CI, such that tests are hanging without an explicit failure. I'm unable to reproduce locally yet; it seems like this only happens in CI, but I will keep investigating. |
|
/azp run |
|
Azure Pipelines successfully started running 2 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 2 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 2 pipeline(s). |
This reverts commit a87ba82.
|
/azp run |
|
Azure Pipelines successfully started running 2 pipeline(s). |
|
In investigating recent CI failures, it appears that microsoft/jupyter-core#71 may have introduced a subtle Jupyter messaging protocol bug. With 566b5b9, I'm currently testing a fix in jupyter-core; if it works, will open a PR for that fix shortly and will push a new release. |
|
/azp run |
|
Azure Pipelines successfully started running 2 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 2 pipeline(s). |
|
It looks like this resolved the issue, so I will open a PR on jupyter-core, and then will update this PR once that is resolved. |
|
/azp run |
|
Azure Pipelines successfully started running 2 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 2 pipeline(s). |
This PR delays starting services required by
IQSharpEngineuntil theEngine.Startmethod is called, so as to not block proper handling of shell messages for reporting startup status to the client. This PR also follows the advice of @cesarzc, and initializes Bond protocol serialization and deserialization in the engine, so that the Q# compilation loader is ready earlier.(Marked as draft until a dependency on microsoft/jupyter-core#71 can be taken.)