Open philippguertler opened 4 years ago
We altered the plugin init mechanism. Currently we have a timeout. We could add a minor change to remove the timeout handling when the plugin init timeout has been set to <=0
.
The timeout would need to be altered here: https://github.com/gentics/mesh/blob/9b3711a770976a37ef77471a66d8ab4b1202cd63/core/src/main/java/com/gentics/mesh/plugin/registry/DelegatingPluginRegistryImpl.java#L148
The lock timeout is however currently also bound to the plugin timeout. This would need to be modified as well. https://github.com/gentics/mesh/blob/9b3711a770976a37ef77471a66d8ab4b1202cd63/core/src/main/java/com/gentics/mesh/plugin/registry/DelegatingPluginRegistryImpl.java#L167
Currently plugins are started one after another in a blocking fashion. A configurable timeout aborts the initialization if it takes too long. This blocks the startup of Mesh and in case of deployment over the API a Vert.x eventloop thread.
Instead, plugins should be started asynchronously and not be aborted by a timeout. Mesh should continue normally even if plugins take long, throw an error or never finish initializing.