blob: cbe740a6d718a3b69732bae8f436f69e609de7a1 [file] [log] [blame]
<!---
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<html>
<head>
<meta charset="utf-8">
<title>Apache Yetus</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link href="../../../../assets/css/bootstrap.css" rel="stylesheet">
<link href="../../../../assets/css/bootstrap-theme.css" rel="stylesheet">
<link href="../../../../assets/css/font-awesome.css" rel="stylesheet">
<!-- JS -->
<script type="text/javascript" src="../../../../assets/js/jquery-2.1.4.min.js"></script>
<script type="text/javascript" src="../../../../assets/js/bootstrap.js"></script>
</head>
<body>
<div class="navbar navbar-inverse navbar-static-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="img-responsive pull-left" href="/">
<img style="max-height: 40px; margin-top: 5px; margin-bottom: 5px;" src="../../../../assets/img/yetus_logo.png" alt="Apache Yetus logo" />
</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="/downloads/">Downloads</a>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Documentation <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li><a href="/documentation/0.13.0/">Docs for v0.13.0</a></li>
<li><a href="/documentation/0.14.1/">Docs for v0.14.1</a></li>
<li><a href="/documentation/0.15.0/">Docs for v0.15.0</a></li>
<li><a href="/documentation/in-progress/">In Progress Docs for Contributors</a>
</li>
<li><a href="/documentation/history/">History of the Project</a>
</li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Get Involved <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu" aria-labelledby="drop1">
<li role="presentation"><a role="menuitem" tabindex="-1" href="/mailinglists"><i class="fa fa-commenting"></i> Mailing Lists</a>
</li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://issues.apache.org/jira/browse/YETUS"><i class="fa fa-bug"></i> JIRA (Bugs)</a>
</li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://gitbox.apache.org/repos/asf/yetus.git"><i class="fa fa-code"></i> Source (Apache)</a>
</li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://github.com/apache/yetus"><i class="fa fa-github-alt"></i> Source (GitHub)</a>
</li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="/contribute/"><i class="fa fa-code-fork"></i> Contributing</a>
</li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/ApacheYetus"><i class="fa fa-twitter"></i> @ApacheYetus</a>
</li>
</ul>
</li>
<li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Apache Software Foundation <b class="caret"></b></a>
<ul class="dropdown-menu" role="menu">
<li><a href="https://www.apache.org">Apache Homepage</a>
</li>
<li><a href="https://www.apache.org/licenses/">Apache License</a>
</li>
<li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
</li>
<li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a>
</li>
<li><a href="https://www.apache.org/security/">Security</a>
</li>
</ul>
</li>
</li>
</ul>
</div>
<!--/.nav-collapse -->
</div>
</div>
<div class="container">
<!---
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-->
<h1 id="apache-yetus--070-release-notes">Apache Yetus 0.7.0 Release Notes</h1>
<p>These release notes cover new developer and user-facing incompatibilities, important issues, features, and major improvements.</p>
<hr />
<ul>
<li>
<table class="table table-bordered table-striped">
<tbody>
<tr>
<td><a href="https://issues.apache.org/jira/browse/YETUS-561">YETUS-561</a></td>
<td><em>Critical</em></td>
<td><strong>Ability to limit user process counts and Docker container's RAM usage</strong></td>
</tr>
</tbody>
</table>
</li>
</ul>
<!-- markdown -->
<p>Apache Yetus now enforces some basic controls around resource limits.</p>
<ul>
<li>
<p><code>--proclimit</code> sets <code>ulimit -Sh</code> for an upper bound on the amount of processes and Java native threads that may be spawned. The default is set to 1000.</p>
</li>
<li>
<p>Docker <code>--memory</code> sizes are now sized with the <code>--dockermemlimit</code> option. By default, 4 gigabytes are allocated.</p>
</li>
<li>
<p>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.</p>
</li>
</ul>
<p>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.</p>
<hr />
<ul>
<li>
<table class="table table-bordered table-striped">
<tbody>
<tr>
<td><a href="https://issues.apache.org/jira/browse/YETUS-570">YETUS-570</a></td>
<td><em>Major</em></td>
<td><strong>Report and optionally kill stale JVMs between unit test modules</strong></td>
</tr>
</tbody>
</table>
</li>
</ul>
<!-- markdown -->
<p>This change enables two new features:</p>
<ul>
<li>
<p>A thread monitor to help determine how <code>--proclimit</code> should be configured.</p>
</li>
<li>
<p>A process reaper to automatically eliminate processes that match certain names after some operations to limit the impact of "stuck" unit tests.</p>
</li>
</ul>
<hr />
<ul>
<li>
<table class="table table-bordered table-striped">
<tbody>
<tr>
<td><a href="https://issues.apache.org/jira/browse/YETUS-580">YETUS-580</a></td>
<td><em>Blocker</em></td>
<td><strong>build a wrapper around docker in jenkins mode</strong></td>
</tr>
</tbody>
</table>
</li>
</ul>
<p>Apache Yetus' Docker support now handles SIGTERM and SIGINT, killing any spawned docker instance when either is received.</p>
<hr />
<ul>
<li>
<table class="table table-bordered table-striped">
<tbody>
<tr>
<td><a href="https://issues.apache.org/jira/browse/YETUS-568">YETUS-568</a></td>
<td><em>Major</em></td>
<td><strong>break apart versioning of files and directories</strong></td>
</tr>
</tbody>
</table>
</li>
</ul>
<!-- markdown -->
<p><code>releasedocmaker</code> no longer automatically creates files or directories that represent the version being built. In addition, the names of the CHANGES file has been renamed to CHANGELOG.</p>
<p>Versioned files may be requested via the <code>--fileversions</code> option. Versioned directories may be requested via the <code>dirversions</code> option. Either option or both are required when releasedocmaker is used with multiple versions or ranges.</p>
<hr />
<ul>
<li>
<table class="table table-bordered table-striped">
<tbody>
<tr>
<td><a href="https://issues.apache.org/jira/browse/YETUS-244">YETUS-244</a></td>
<td><em>Major</em></td>
<td><strong>make yetus available via homebrew</strong></td>
</tr>
</tbody>
</table>
</li>
</ul>
<!-- markdown -->
<p>The latest version of Apache Yetus is also available via Homebrew on Mac OS X:</p>
<div class="highlight"><pre class="highlight plaintext"><code>brew tap apache/yetus https://github.com/apache/yetus
brew install yetus
</code></pre></div>
</div>
<div class="container">
<hr>
<footer class="footer">
<div class="row-fluid">
<div class="span12 text-left">
<div class="span12">
Copyright 2008-2023 <a href="https://www.apache.org/">Apache Software Foundation</a>. Licensed under the <a href="https://www.apache.org/licenses/">Apache License v2.0</a>. Apache Yetus and the Apache feather logo are trademarks of The Apache Software Foundation.
</div>
</div>
</div>
</footer>
</div>
</body>
</html>