[ 
https://issues.apache.org/jira/browse/JAMES-3108?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Benoit Tellier updated JAMES-3108:
----------------------------------
    Description: 
James should not shut down immediatly on SIGTERM, but it gracefully terminates 
connections.

In a kubernetes context for instance:


{code:java}
It might take some time before a component such as kube-proxy or the Ingress 
controller is notified of the endpoint changes.

Hence, traffic might still flow to the Pod despite it being marked as 
terminated.

The app should stop accepting new requests on all remaining connections, and 
close these once the outgoing queue is drained.

If you need a refresher on how endpoints are propagated in your cluster, read 
this article on how to handle client requests properly.
{code}

(Source: https://learnk8s.io/production-best-practices)

I think it also makes sens out of this context.

A graceful shutdown furthermore decrease the risk of inconsistencies in the 
underlying datastores (Cassandra)


  was:
James should not shut down immediatly on SIGTERM, but it gracefully terminates 
connections.

In a kubernetes context for instance:


{code:java}
It might take some time before a component such as kube-proxy or the Ingress 
controller is notified of the endpoint changes.

Hence, traffic might still flow to the Pod despite it being marked as 
terminated.

The app should stop accepting new requests on all remaining connections, and 
close these once the outgoing queue is drained.

If you need a refresher on how endpoints are propagated in your cluster, read 
this article on how to handle client requests properly.
{code}

(Source: https://learnk8s.io/production-best-practices)

I think it also makes sens out of this context.



> James should shutdown gracefully
> --------------------------------
>
>                 Key: JAMES-3108
>                 URL: https://issues.apache.org/jira/browse/JAMES-3108
>             Project: James Server
>          Issue Type: New Feature
>            Reporter: Benoit Tellier
>            Priority: Major
>
> James should not shut down immediatly on SIGTERM, but it gracefully 
> terminates connections.
> In a kubernetes context for instance:
> {code:java}
> It might take some time before a component such as kube-proxy or the Ingress 
> controller is notified of the endpoint changes.
> Hence, traffic might still flow to the Pod despite it being marked as 
> terminated.
> The app should stop accepting new requests on all remaining connections, and 
> close these once the outgoing queue is drained.
> If you need a refresher on how endpoints are propagated in your cluster, read 
> this article on how to handle client requests properly.
> {code}
> (Source: https://learnk8s.io/production-best-practices)
> I think it also makes sens out of this context.
> A graceful shutdown furthermore decrease the risk of inconsistencies in the 
> underlying datastores (Cassandra)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to