Vert.x high availability is not working Vert.x high availability is not working docker docker

Vert.x high availability is not working


I spent several hours debugging this, but finally found it.

So here is the solution:

Your verticle start method header is:

override fun start(startFuture: Future<Void>?)

You're overriding start methods which gives you the future that will waited for after the start of the verticle. Vert.x waits forever for the completion of this future since you do not call

startFuture.complete()

at the end of the method.

So the verticle will never be added to the verticle-list of the HAManager and so will not be redeployed.

Alternatively, you can use

override fun start()

as method header if your verticle does a simple, synchronous start-up.

Hope this helps.