Uploaded image for project: 'James Server'
  1. James Server
  2. JAMES-3108

James should shutdown gracefully

    XMLWordPrintableJSON

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.5.0
    • Component/s: None
    • Labels:
      None

      Description

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

      In a kubernetes context for instance:

      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.
      

      (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)

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              btellier Benoit Tellier
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: