Files
impala/infra/python
Gergely Farkas 04bdb4d32c IMPALA-12552: Fix Kerberos authentication issue that occurs
in python 3 environment when kerberos_host_fqdn option is used

In Pyhton 2, the sasl layer does not accept unicode strings,
so we have to explicitly encode the kerberos_host_fqdn string
to ascii. However, this is not the case in python 3, where
we have to omit the encode, because if we don't do this,
impala-shell wants to use the following service principal
during Kerberos auth:
my_service_name/b'my.kerberos.host.fqdn'@MY.REALM
instead of the correct one, which is:
my_service_name/my.kerberos.host.fqdn@MY.REALM
(This is because the output of the encode function
is a byte array in python 3.)

Tested with new unit tests and with a snapshot build
manually in CDP PVC DS.

Change-Id: I8b157d76824ad67faf531a529256a8afe2ab9d49
Reviewed-on: http://gerrit.cloudera.org:8080/20691
Reviewed-by: Michael Smith <michael.smith@cloudera.com>
Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
Reviewed-by: Wenzhe Zhou <wzhou@cloudera.com>
2023-11-17 20:08:42 +00:00
..

To install new packages:

1) Add your package to deps/requirements.txt, or deps/compiled-requirements.txt if the
   the package needs a C/C++ compiler to build . You should specify the version number
   using the "foo == x.y.z" notation so future upgrades can be done automatically.
2) Run deps/download_requirements, it will download the package to the deps dir.
3) Run the "impala-python" command, this should detect that requirements.txt changed and
   automatically rebuild the virtualenv.
4) Now in the python prompt, you should be able to import the new module.

To upgrade a package:

1) Edit deps/requirement.txt to use the version you need.
2) Go to step 2 above.