Uploaded image for project: 'Magnolia'
  1. Magnolia
  2. MAGNOLIA-9244

Align liveness & readiness with standard MicroProfile Health API

    XMLWordPrintable

Details

    • Task
    • Resolution: Fixed
    • Neutral
    • 6.3.0
    • None
    • core
    • Yes
    • Yes
    • Yes

    Description

      First, we review vitals applicability to DX Core 6.3; the main cause for review is:

      • DX Core deployment is just the magnolia tomcat webapp
        • it doesn't have the vitals-webapp to consume vitals from.
        • it would be overhead for customers' to add in their own Dockerfiles, most likely they won't bother
      • also consuming over JMX is rather inconvenient → let's reconsider an embedded web facade?

      Meanwhile, usage points are interesting:

      • MagnoliaServletContextListener: unlikely to remain useful, because if Magnolia is down, it's not gonna be able to respond
      • ModuleManagerImpl otoh is interesting, as a failed module start is a good readiness signal to stop accepting incoming requests

      Therefore two main points for review:

      1. which API to use
      2. how to expose

      API: do we still need the bespoke probes and similar, or can we reconsider MP Health?

      • MP Health would require a little Guice integration (no CDI), we have a bit of that today already too (see VitalsSupportModule)
      • we may not need probes to be auto-discoverable and instantiated by annotation, given our states evolve tightly within e.g. ModuleManager implementation
        • register and update HealthCheck probes in-place programmatically instead?

      Endpoint:

      • after we validate the above, we should know better. e.g. could register a new endpoint instead of the former StatusEndpoint
      • implement /.rest/health/live and /.rest/health/ready and delegate to the underlying VitalsManager?
      • => MGNLREST ticket

      Checklists

        Acceptance criteria

        Attachments

          Issue Links

            Activity

              People

                ajuran Antonín Juran
                mgeljic Mikaël Geljić
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:
                  Work Started:

                  Checklists

                    Task DoR