--
You received this message because you are subscribed to the Google Groups "vert.x" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vertx+unsubscribe@googlegroups.com.
Visit this group at https://groups.google.com/group/vertx.
To view this discussion on the web, visit https://groups.google.com/d/msgid/vertx/c771e219-a743-4620-ac31-fc1dc3932d6f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "vert.x" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vertx+unsubscribe@googlegroups.com.
Visit this group at https://groups.google.com/group/vertx.
To view this discussion on the web, visit https://groups.google.com/d/msgid/vertx/63e0756c-2d4a-432c-b191-dec8f8225972%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "vert.x" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vertx+un...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/vertx/f7281384-ecfb-490a-b131-92960cf9e82a%40googlegroups.com.
Right. I do think it would be nice if vertx supported regular rolling upgrades without loosing any messages though,
since thats such a common use case. We do it several times per day. It doesnt imply that u have to "fix the world" or do "global synchronization", it would be enough with a pragmatic "unregister, wait 100ms, undeploy"
and pretty much all upgrades would pass without the need to resend events.
Thats what I said :). We do use automatic retries for idempotent messages to support the cases where messages are lost due to whatever.
I mainly have one issue with redeploys causing message failures: we WARN log on event retries because I consider that to be an exceptional occurrence.
--
You received this message because you are subscribed to the Google Groups "vert.x" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vertx+un...@googlegroups.com.
Visit this group at https://groups.google.com/group/vertx.
To view this discussion on the web, visit https://groups.google.com/d/msgid/vertx/e8685fe6-c724-41f6-9b4b-b582251660ed%40googlegroups.com.
Alternatively, we could add a way in the Launcher to notify you when the shutdown is initiated (before vertx.close()).Clement
On 27 Apr 2017, at 15:38, Diego Feitosa <dnfe...@gmail.com> wrote:
Hi Anil,
It seems we both have a similar setup and requirement. Two days ago I've started a thread about it and was able to land on a potential solution, though I'm not sure if there are implications on it.
On a note about using a shutdown hook, if you are running your application with io.vertx.core.Launcher, it already register a shutdown hook that calls vertx.close() and terminates everything immediately. There's no way to detect something is being processed and wait for it to finish.
The solution I'm evaluating is to stop receiving any traffic into that server and allow for a grace period for all the already accepted requests to finish. As we cannot rely on the SIGTERM/SIGKILL sent by kubernetes when terminating a pod, the main idea is to use a preStop command (as described here) to invoke an internal endpoint that will terminate vertx. I'm still working on it and need to wire everything together to validate the solution is sound and will keep updating the shutdown code here.
If you have any feedbacks or see any flaws on it, let me know!
Cheers,
-Diego
On Wednesday, April 19, 2017 at 4:43:56 AM UTC-7, Anil wrote:Hi Team,We are running vert.x hazelcast mircro services on Kubernetes. we see requests are getting timed out/terminated during scale down of prods.We have two verticles (standard and worker) in the application. standard verticle receives the request and push it to eventbus. Worker verticle consumes event from eventbus and process and respond.Current problem : when prods get the terminate signal, the requests are getting terminated and timed-out.Could you please clarify below ?1. Is there any way to achieve grace full shutdown of vert.x application which stop accepting the input requests, new events from clustered eventbus and process the current running requests and terminate.2. What is the default termination policy ? we noticed that Ctrl + C is forceful termination.3. Can we achieve #1 using Runtime shutdown hook ?Please let me know if you have any questions. Thanks.Thanks--
You received this message because you are subscribed to the Google Groups "vert.x" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vertx+unsubscribe@googlegroups.com.
Visit this group at https://groups.google.com/group/vertx.
To view this discussion on the web, visit https://groups.google.com/d/msgid/vertx/e8685fe6-c724-41f6-9b4b-b582251660ed%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "vert.x" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vertx+unsubscribe@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/vertx/77FA787A-725F-4E52-8BA5-82655ED97348%40gmail.com.
On 4 May 2017, at 09:49, Thomas SEGISMONT <tsegi...@gmail.com> wrote:Not a bad idea Clément. VertxLifecycleHooks has methods for startup and verticle deployment, but nothing for undeploy and shutdown.Do you know if there's a ticket for this already?
To unsubscribe from this group and stop receiving emails from it, send an email to vertx+un...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/vertx/CACiEr_RsT34pFBtxvpyk1CyOCt0WxctebZaEfLhUsCeP%3Dw44Ow%40mail.gmail.com.