During #launchVatsForSubcluster, if one of the vats fails to build its root object, one of the following should happen:
#launchVatsForSubcluster should throw an error describing which vats failed to buildRootObject
- In the vats object passed to the bootstrap method, the value associated to the failing vat's key should should short circuit any attempts to use it like a root object.
The current behavior is an unhelpful message about some record missing from the run queue.
SES_UNHANDLED_REJECTION: [Error <Object <[Object: null prototype] {}>>: no record matching key 'queue.run.3'
IMO we should just consider a failure of buildRootObject to be fatal to cluster initialization.
Reading the code, it also seems that if 'bootstrap' was specified in the clusterConfig but a vat by that name was not found, the subcluster will just initialize without bootstrapping. This should probably be an error condition.
During
#launchVatsForSubcluster, if one of the vats fails to build its root object, one of the following should happen:#launchVatsForSubclustershould throw an error describing which vats failed tobuildRootObjectThe current behavior is an unhelpful message about some record missing from the run queue.
IMO we should just consider a failure of
buildRootObjectto be fatal to cluster initialization.Reading the code, it also seems that if 'bootstrap' was specified in the clusterConfig but a vat by that name was not found, the subcluster will just initialize without bootstrapping. This should probably be an error condition.