Uploaded image for project: 'Yetus'
  1. Yetus
  2. YETUS-561

Ability to limit user process counts and Docker container's RAM usage

    XMLWordPrintableJSON

    Details

    • Type: New Feature
    • Status: Resolved
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 0.6.0
    • Fix Version/s: 0.7.0
    • Component/s: Precommit
    • Labels:
      None
    • Release Note:
      Hide
      <!-- markdown -->
      Apache Yetus now enforces some basic controls around resource limits.

      * `--proclimit` sets `ulimit -Sh` for an upper bound on the amount of processes and Java native threads that may be spawned. The default is set to 1000.

      * Docker `--memory` sizes are now sized with the `--dockermemlimit` option. By default, 4 gigabytes are allocated.

      * Docker mode will set the OOM adjustment value for any process within the container to 500. This is to help guide the kernel to kill Apache Yetus spawned processes before potentially killing any others in low memory conditions. This is to prevent the death of, for example, the Jenkins agent.

      If any process attempts to violate those controls over those limits, there is a very high chance that any process spawned by Apache Yetus and Apache Yetus itself will be killed.
      Show
      <!-- markdown --> Apache Yetus now enforces some basic controls around resource limits. * `--proclimit` sets `ulimit -Sh` for an upper bound on the amount of processes and Java native threads that may be spawned. The default is set to 1000. * Docker `--memory` sizes are now sized with the `--dockermemlimit` option. By default, 4 gigabytes are allocated. * Docker mode will set the OOM adjustment value for any process within the container to 500. This is to help guide the kernel to kill Apache Yetus spawned processes before potentially killing any others in low memory conditions. This is to prevent the death of, for example, the Jenkins agent. If any process attempts to violate those controls over those limits, there is a very high chance that any process spawned by Apache Yetus and Apache Yetus itself will be killed.
    • Flags:
      Important

      Description

      Hadoop is blowing up nodes due to unit tests that consume all of RAM. In an attempt to keep nodes alive, Yetus needs the ability to put an upper limit on the amount that a Docker container can use.

        Attachments

        1. YETUS-561.00.patch
          4 kB
          Allen Wittenauer
        2. YETUS-561.01.patch
          4 kB
          Allen Wittenauer
        3. YETUS-561.02.patch
          4 kB
          Allen Wittenauer
        4. YETUS-561.03.patch
          4 kB
          Allen Wittenauer
        5. YETUS-561.04.patch
          7 kB
          Allen Wittenauer
        6. YETUS-561.05.patch
          8 kB
          Allen Wittenauer

          Issue Links

            Activity

              People

              • Assignee:
                aw Allen Wittenauer
                Reporter:
                aw Allen Wittenauer
              • Votes:
                0 Vote for this issue
                Watchers:
                8 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: