Joe McDonnell has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/18653 )
Change subject: IMPALA-11389: Include Python 3 eggs in tarball ...................................................................... IMPALA-11389: Include Python 3 eggs in tarball Build Python 3 eggs for the shell tarball so it works with both Python 2 and Python 3. The impala-shell script selects eggs based on the available Python version. Inlines thrift for impala-shell so we can easily build Python 2 and Python 3 versions, consistent with other libraries. The impala-shell version should always be at least as new as IMPALA_THRIFT_PY_VERSION. Thrift 0.13.0+ wraps all exceptions during TSocket read/write operations in TTransportException. Specifically socket.error that we got as raw exceptions are now wrapped. Unwraps them before raising to preserve prior behavior. A specific Python version can be selected with IMPALA_PYTHON_EXECUTABLE; otherwise it will use 'python', and if unavailable try 'python3'. Adds tests for impala-shell tarball with Python 3. Change-Id: I94f86de9e2a6303151c2f0e6454b5f629cbc9444 Reviewed-on: http://gerrit.cloudera.org:8080/18653 Reviewed-by: Wenzhe Zhou <[email protected]> Reviewed-by: Joe McDonnell <[email protected]> Tested-by: Impala Public Jenkins <[email protected]> --- M bin/bootstrap_build.sh M bin/bootstrap_system.sh M bin/impala-config.sh M bin/rat_exclude_files.txt M shell/.gitignore A shell/ext-py/thrift-0.14.2/CMakeLists.txt A shell/ext-py/thrift-0.14.2/MANIFEST.in A shell/ext-py/thrift-0.14.2/Makefile.am A shell/ext-py/thrift-0.14.2/README.md A shell/ext-py/thrift-0.14.2/coding_standards.md A shell/ext-py/thrift-0.14.2/compat/win32/stdint.h A shell/ext-py/thrift-0.14.2/setup.cfg A shell/ext-py/thrift-0.14.2/setup.py A shell/ext-py/thrift-0.14.2/src/TMultiplexedProcessor.py A shell/ext-py/thrift-0.14.2/src/TRecursive.py A shell/ext-py/thrift-0.14.2/src/TSCons.py A shell/ext-py/thrift-0.14.2/src/TSerialization.py A shell/ext-py/thrift-0.14.2/src/TTornado.py A shell/ext-py/thrift-0.14.2/src/Thrift.py A shell/ext-py/thrift-0.14.2/src/__init__.py A shell/ext-py/thrift-0.14.2/src/compat.py A shell/ext-py/thrift-0.14.2/src/ext/binary.cpp A shell/ext-py/thrift-0.14.2/src/ext/binary.h A shell/ext-py/thrift-0.14.2/src/ext/compact.cpp A shell/ext-py/thrift-0.14.2/src/ext/compact.h A shell/ext-py/thrift-0.14.2/src/ext/endian.h A shell/ext-py/thrift-0.14.2/src/ext/module.cpp A shell/ext-py/thrift-0.14.2/src/ext/protocol.h A shell/ext-py/thrift-0.14.2/src/ext/protocol.tcc A shell/ext-py/thrift-0.14.2/src/ext/types.cpp A shell/ext-py/thrift-0.14.2/src/ext/types.h A shell/ext-py/thrift-0.14.2/src/protocol/TBase.py A shell/ext-py/thrift-0.14.2/src/protocol/TBinaryProtocol.py A shell/ext-py/thrift-0.14.2/src/protocol/TCompactProtocol.py A shell/ext-py/thrift-0.14.2/src/protocol/THeaderProtocol.py A shell/ext-py/thrift-0.14.2/src/protocol/TJSONProtocol.py A shell/ext-py/thrift-0.14.2/src/protocol/TMultiplexedProtocol.py A shell/ext-py/thrift-0.14.2/src/protocol/TProtocol.py A shell/ext-py/thrift-0.14.2/src/protocol/TProtocolDecorator.py A shell/ext-py/thrift-0.14.2/src/protocol/__init__.py A shell/ext-py/thrift-0.14.2/src/server/THttpServer.py A shell/ext-py/thrift-0.14.2/src/server/TNonblockingServer.py A shell/ext-py/thrift-0.14.2/src/server/TProcessPoolServer.py A shell/ext-py/thrift-0.14.2/src/server/TServer.py A shell/ext-py/thrift-0.14.2/src/server/__init__.py A shell/ext-py/thrift-0.14.2/src/transport/THeaderTransport.py A shell/ext-py/thrift-0.14.2/src/transport/THttpClient.py A shell/ext-py/thrift-0.14.2/src/transport/TSSLSocket.py A shell/ext-py/thrift-0.14.2/src/transport/TSocket.py A shell/ext-py/thrift-0.14.2/src/transport/TTransport.py A shell/ext-py/thrift-0.14.2/src/transport/TTwisted.py A shell/ext-py/thrift-0.14.2/src/transport/TZlibTransport.py A shell/ext-py/thrift-0.14.2/src/transport/__init__.py A shell/ext-py/thrift-0.14.2/src/transport/sslcompat.py A shell/ext-py/thrift-0.14.2/test/_import_local_thrift.py A shell/ext-py/thrift-0.14.2/test/test_socket.py A shell/ext-py/thrift-0.14.2/test/test_sslsocket.py A shell/ext-py/thrift-0.14.2/test/test_thrift_file/TestServer.thrift A shell/ext-py/thrift-0.14.2/test/thrift_TBinaryProtocol.py A shell/ext-py/thrift-0.14.2/test/thrift_TCompactProtocol.py A shell/ext-py/thrift-0.14.2/test/thrift_TNonblockingServer.py A shell/ext-py/thrift-0.14.2/test/thrift_TZlibTransport.py A shell/ext-py/thrift-0.14.2/test/thrift_json.py A shell/ext-py/thrift-0.14.2/test/thrift_transport.py M shell/impala-shell M shell/impala_client.py M shell/make_shell_tarball.sh M shell/packaging/make_python_package.sh M tests/shell/test_shell_commandline.py M tests/shell/test_shell_interactive.py M tests/shell/util.py 71 files changed, 10,658 insertions(+), 42 deletions(-) Approvals: Wenzhe Zhou: Looks good to me, but someone else must approve Joe McDonnell: Looks good to me, approved Impala Public Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/18653 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I94f86de9e2a6303151c2f0e6454b5f629cbc9444 Gerrit-Change-Number: 18653 Gerrit-PatchSet: 12 Gerrit-Owner: Michael Smith <[email protected]> Gerrit-Reviewer: Impala Public Jenkins <[email protected]> Gerrit-Reviewer: Joe McDonnell <[email protected]> Gerrit-Reviewer: Michael Smith <[email protected]> Gerrit-Reviewer: Wenzhe Zhou <[email protected]>
