Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
queryserver-6.0.0
-
Patch
Description
When connecting to Phoenix from Python using "SPNEGO" as the authentication mechanism an exception occurs:
import phoenixdb import phoenixdb.cursor database_url = 'http://myphoenixdb:8765/' conn = phoenixdb.connect(database_url, autocommit=True, authentication="SPNEGO")
Causes this exception:
>>> conn = phoenixdb.connect(database_url, autocommit=True, authentication="SPNEGO") venv/lib/python3.6/site-packages/phoenixdb/avatica/client.py:121: RuntimeWarning: Unexpected end-group tag: Not all data was converted if not err.ParseFromString(message.wrapped_message): Traceback (most recent call last): File "<stdin>", line 1, in <module> File "venv/lib/python3.6/site-packages/phoenixdb/_init_.py", line 121, in connect return Connection(client, **kwargs) File "venv/lib/python3.6/site-packages/phoenixdb/connection.py", line 53, in _init_ self.open() File "venv/lib/python3.6/site-packages/phoenixdb/connection.py", line 98, in open self._client.open_connection(self._id, info=self._phoenix_props) File "venv/lib/python3.6/site-packages/phoenixdb/avatica/client.py", line 363, in open_connection response_data = self._apply(request) File "venv/lib/python3.6/site-packages/phoenixdb/avatica/client.py", line 215, in _apply parse_error_protobuf(response_body) File "venv/lib/python3.6/site-packages/phoenixdb/avatica/client.py", line 128, in parse_error_protobuf raise_sql_error(err.error_code, err.sql_state, err.error_message) File "venv/lib/python3.6/site-packages/phoenixdb/avatica/client.py", line 96, in raise_sql_error raise errors.InternalError(message, code, sqlstate) phoenixdb.errors.InternalError: ('', 0, '', None)
This problem is caused by the authentication mechanism because phoenixdb is using Kerberos 5 instead of SPNEGO.
To resolve the issue we have patched the package applying the idea behind the "Explicit Mechanism" described in https://pypi.org/project/requests-gssapi/ when the authentication is SPNEGO. The attached file has the patch applied.
If you want, I can create a branch and pull request this change.
Attachments
Attachments
Issue Links
- relates to
-
PHOENIX-6781 Fix flaky tests and define auth mech for SPNEGO explicitly
- Resolved
- links to