Hello Kudu Developers,

As we approach the 1.12.0 release I think now is a good opportunity to
evaluate the platform versions
we support. Doing so before the 1.12.0 release is useful because it will
allow us to mark any OS we
intend to drop as deprecated. This is similar to how we have handled Java
version support in the past.

The primary goal of dropping older OS versions is to remove OS versions
that are nearing EOL and
to bump the minimum required gcc version allowing the use of C++ 14
features. However, some
additional benefits include:

   - Updating the list of OS versions we test and support (including newer
   OS versions)
   - Aligning more closely with Impala given they are the main consumer of
   the C++ client (thread
   
<https://lists.apache.org/thread.html/r19b95826b59486d61c1f8f5c1edd93adb8ec9925f66ff42c0c103d66%40%3Cdev.impala.apache.org%3E>
   )
   - Allow the use of Abseil <https://abseil.io/> which various Kudu
   contributors have suggested bringing into Kudu
   - A first step towards supporting C++17

With that said I propose we mark the following OS versions as deprecated in
the 1.12.0 release
and consider dropping them in the next minor release:

   - CentOS/RHEL 6 - EOL November 30, 2020
   
<https://wiki.centos.org/FAQ/General#What_is_the_support_.27.27end_of_life.27.27_for_each_CentOS_release.3F>
   - Debian 8 - EOL June 30, 2020 <https://wiki.debian.org/LTS>
   - Ubuntu 14 - EOL April 30, 2020 <https://wiki.ubuntu.com/Releases>

This means that  our minimum gcc version could be 5.3+ and the list of
supported OS versions would be:

   - CentOS 6 (deprecated)
   - CentOS 7 (with devtoolset gcc)
   - CentOS 8
   - RHEL 6 (deprecated)
   - RHEL 7 (with devtoolset gcc)
   - RHEL 8
   - Ubuntu 14.04 (deprecated)
   - Ubuntu 16.04
   - Ubuntu 18.04
   - Debian 8 (deprecated)
   - Debian 9
   - SLES 12 (with toolchain gcc)

Please provide your feedback, suggestions, or agreement on this proposal.

Thank you,
Grant

Reply via email to