Hi all, I've been working on a patch to Kudu to move us to C++11. C++11 is a big step forward, introducing features like move semantics and improved standard libraries that should allow us to improve code cleanliness, safety, performance, and reduce a fair amount of util code.
The patch is currently under review <http://gerrit.cloudera.org:8080/#/c/1687/>. The improvements and cleanup that this enables will mostly come in follow-up commits. What this means for Kudu developers is that Kudu will require a C++11 capable system compiler (GCC 4.8 or greater on Linux). RHEL 6 will remain supported for building from source via the Red Hat Developer Toolset <https://access.redhat.com/documentation/en-US/Red_Hat_Developer_Toolset/3/html/3.0_Release_Notes/index.html> as a compile-time dependency (it can be installed through the Software Collections <https://www.softwarecollections.org/en/scls/rhscl/devtoolset-3/> project on Centos). The goal is to land the patch onto master in a matter of days. The C++11 client (libkudu_client.so) will not require C++11 as a result of this patch. Moving the client to C++11 may be desirable, but we need to study how it affects our downstream users and integrations before flipping the switch. If you have any concerns or questions let me know. I'm looking forward to unlocking the future of the late aughts! - Dan
