Uploaded image for project: 'Opencast'
  1. MH-11011

Ingest load should be balanced across ingest servers

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects versions: 1.6.1, 2.3.3, 3.3
    • Fix versions: None
    • Labels:
      None
    • Severity:
      Performance
    • Steps to reproduce:
      Hide
      In a configuration with multiple ingest servers, all ingest servers are not favoured equally, with the first ingest server getting more ingests than others.

      This appears to be because the REST call used by the CAs:

      /services/available.json?serviceType=org.opencastproject.ingest

      returns the ingest server in order of load (least loaded first), but in cases where the load is equal (e.g. load = 0 for all), the servers are returned deterministically.

      To ingests allocated fairly across ingest servers (for example for an even distribution of network traffic across interfaces), the server list should be randomized within the same load value, e.g.

      ingestA load 0
      ingestB load 0
      ingestC load 0

      Each time the service list is called, these should be returned in a random order (as long as they all have load=0), e.g.

      ingestC, ingestA, ingestB
      ingestC, ingestB, ingestA
      ingestA, ingestC, ingestB
      Show
      In a configuration with multiple ingest servers, all ingest servers are not favoured equally, with the first ingest server getting more ingests than others. This appears to be because the REST call used by the CAs: /services/available.json?serviceType=org.opencastproject.ingest returns the ingest server in order of load (least loaded first), but in cases where the load is equal (e.g. load = 0 for all), the servers are returned deterministically. To ingests allocated fairly across ingest servers (for example for an even distribution of network traffic across interfaces), the server list should be randomized within the same load value, e.g. ingestA load 0 ingestB load 0 ingestC load 0 Each time the service list is called, these should be returned in a random order (as long as they all have load=0), e.g. ingestC, ingestA, ingestB ingestC, ingestB, ingestA ingestA, ingestC, ingestB

      TestRail: Results

        Attachments

          Issue links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                smarquard Stephen Marquard
              • Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:

                  TestRail: Cases