These release notes cover new developer and user-facing incompatibilities, important issues, features, and major improvements.
Apache Yetus now enforces some basic controls around resource limits.
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.
--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.
This change enables two new features:
A thread monitor to help determine how
--proclimit should be configured.
A process reaper to automatically eliminate processes that match certain names after some operations to limit the impact of
stuck unit tests.
Apache Yetus’ Docker support now handles SIGTERM and SIGINT, killing any spawned docker instance when either is received.
releasedocmaker 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.
Versioned files may be requested via the
--fileversions option. Versioned directories may be requested via the
dirversions option. Either option or both are required when releasedocmaker is used with multiple versions or ranges.
The latest version of Apache Yetus is also available via Homebrew on Mac OS X:
brew tap apache/yetus https://github.com/apache/yetus brew install yetus