Uploaded image for project: 'GeoServer'
  1. GEOS-8613

Add support for priority in control-flow bounded queues

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Medium
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.13.1, 2.14-RC
    • Component/s: Control-flow
    • Labels:
      None

      Description

      Currently OWS flow controllers block incoming requests to control concurrency.
      The wake up from such locks is not controlled, and left to the JVM devices.

      Add a way to indicate the priority of a request, and order wake up based on it.
      For the initial implementation:

      • Priority would be controlled by a HTTP header (GeoServer cannot be the sole priority controller in a clustered system, some collaboration at the load balancer level might be needed to evenly spread out high priority requests)
      • Priority would be "hard", no starvation control on lower priority requests, that can be left there to time out in case many higher priority requests come in.

      The configuration syntax would be:

      ows.priority.http=<header>,<defaultPriority>
      

      Where the header is supposed to contain a numeric value, with the default priority used in case the header is missing. Higher numerical values would lead to higher priority.

        Attachments

          Activity

            People

            • Assignee:
              aaime Andrea Aime
              Reporter:
              aaime Andrea Aime
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: