Repository: incubator-impala Updated Branches: refs/heads/master 83f777da7 -> da34ce978
IMPALA-4562: Fix for crash on kerberized clusters w/o Kudu support commit de88f0c4af3a07ae6bd6b8c94edcb8748468f522 for "IMPALA-4497: Fix Kudu client crash w/ SASL initialization" causes a crash on secure clusters where kudu is not supported. kudu::client::DisableSaslInitialization() from libkudu_client.so.0 impala::InitAuth(std::string const&) () impala::InitCommonRuntime() () ImpaladMain(int, char**) () main () This ensures Impala does not call the Kudu client to handle SASL init on systems where libkudu_client.so is a stub. Change-Id: Ib517d17ab12e215fe87f35bc5d03cdda736ff672 Reviewed-on: http://gerrit.cloudera.org:8080/5295 Reviewed-by: Henry Robinson <he...@cloudera.com> Tested-by: Internal Jenkins Project: http://git-wip-us.apache.org/repos/asf/incubator-impala/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-impala/commit/1b8fede3 Tree: http://git-wip-us.apache.org/repos/asf/incubator-impala/tree/1b8fede3 Diff: http://git-wip-us.apache.org/repos/asf/incubator-impala/diff/1b8fede3 Branch: refs/heads/master Commit: 1b8fede3b5b3f5aff9d3fb3ac74f956da870186d Parents: 83f777d Author: Matthew Jacobs <m...@cloudera.com> Authored: Wed Nov 30 16:25:51 2016 -0800 Committer: Internal Jenkins <cloudera-hud...@gerrit.cloudera.org> Committed: Thu Dec 1 21:06:49 2016 +0000 ---------------------------------------------------------------------- be/src/rpc/authentication.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/1b8fede3/be/src/rpc/authentication.cc ---------------------------------------------------------------------- diff --git a/be/src/rpc/authentication.cc b/be/src/rpc/authentication.cc index cf6432a..db0e608 100644 --- a/be/src/rpc/authentication.cc +++ b/be/src/rpc/authentication.cc @@ -643,8 +643,10 @@ Status InitAuth(const string& appname) { // Impala's SASL initialization. This must be called before any KuduClients are // created to ensure that Kudu doesn't init SASL first, and this returns an error if // Kudu has already initialized SASL. - KUDU_RETURN_IF_ERROR(kudu::client::DisableSaslInitialization(), - "Unable to disable Kudu SASL initialization."); + if (impala::KuduIsAvailable()) { + KUDU_RETURN_IF_ERROR(kudu::client::DisableSaslInitialization(), + "Unable to disable Kudu SASL initialization."); + } // Add our auxprop plugin, which gives us a hook before authentication int rc = sasl_auxprop_add_plugin(IMPALA_AUXPROP_PLUGIN.c_str(), &ImpalaAuxpropInit);