Oleg Tarassov created PHOENIX-5598:
--------------------------------------

             Summary: Python phoenixdb unable to connect with Phoenix 5.x on 
HDP 3.1
                 Key: PHOENIX-5598
                 URL: https://issues.apache.org/jira/browse/PHOENIX-5598
             Project: Phoenix
          Issue Type: Bug
    Affects Versions: 5.0.0
            Reporter: Oleg Tarassov


Currently developing an ansible module *phoenix_query* that uses python library 
phoenixdb to establish connection onto Phoenix Query Server and pass its query.
h3. Environment versions:

Python: 3.7.4

phoenixdb: 0.7
h3. It work for the following versions:

Phoenix: 4.7

HDP: 2.6
h3. It fails for the following version:

Phoenix: 5.0

HDP: 3.1
h3. Issue:

The URL appends an extra zookeeper port(2181) and makes the URL invalid.
h3. Command Used:
{code:java}
...
 query = module.params["query"].replace(";", "")# select DISTINCT TABLE_NAME 
from SYSTEM.CATALOG
 host = module.params["host"].strip("http://";) # 
bpl-cookie-hdp-master-00.devops.guavus.mtl
 port = module.params["port"] # 8765
...
 database_url = "http://{0}:{1}/".format(host, port)
 database_conn = phoenixdb.connect(database_url, autocommit=True)
 cursor = database_conn.cursor(cursor_factory=phoenixdb.cursor.DictCursor)
{code}
 
h3. Trace error:
{code:java}
An exception occurred during task execution. To see the full traceback, use 
-vvv. The error was: phoenixdb.errors.OperationalError: ('Malformed connection 
url. 
:bpl-cookie-hdp-infra-00.devops.guavus.mtl:2181,bpl-cookie-hdp-infra-01.devops 
.guavus.mtl:2181,bpl-cookie-hdp-infra-02.devops.guavus.mtl:2181:2181:/hbase-unsecure;',
 102, '08001', None) fatal: [localhost]: FAILED! => { "changed": false, "rc": 1 
}MSG:MODULE FAILURE See stdout/stderr for the exact error 
MODULE_STDERR:Traceback (most recent call last): File 
"/Users/oleg/.ansible/tmp/ansible-tmp-1575127117.741261-241194887276054/AnsiballZ_phoenix_query.py",
 line 102, in <module> _ansiballz_main() File 
"/Users/oleg/.ansible/tmp/ansible-tmp-1575127117.741261-241194887276054/AnsiballZ_phoenix_query.py",
 line 94, in _ansiballz_main invoke_module(zipped_mod, temp_path, 
ANSIBALLZ_PARAMS) File 
"/Users/oleg/.ansible/tmp/ansible-tmp-1575127117.741261-241194887276054/AnsiballZ_phoenix_query.py",
 line 40, in invoke_module 
runpy.run_module(mod_name='ansible.modules.phoenix_query', init_globals=None, 
run_name='__main__', alter_sys=True) File 
"/Users/oleg/.pyenv/versions/3.7.4/lib/python3.7/runpy.py", line 205, in 
run_module return _run_module_code(code, init_globals, run_name, mod_spec) File 
"/Users/oleg/.pyenv/versions/3.7.4/lib/python3.7/runpy.py", line 96, in 
_run_module_code mod_name, mod_spec, pkg_name, script_name) File 
"/Users/oleg/.pyenv/versions/3.7.4/lib/python3.7/runpy.py", line 85, in 
_run_code exec(code, run_globals) File 
"/var/folders/p9/jgzk_ry55875dsfrh5p0gx_c0000gn/T/ansible_phoenix_query_payload_0o9jhail/ansible_phoenix_query_payload.zip/ansible/modules/phoenix_query.py",
 line 155, in <module> File 
"/var/folders/p9/jgzk_ry55875dsfrh5p0gx_c0000gn/T/ansible_phoenix_query_payload_0o9jhail/ansible_phoenix_query_payload.zip/ansible/modules/phoenix_query.py",
 line 151, in main File 
"/var/folders/p9/jgzk_ry55875dsfrh5p0gx_c0000gn/T/ansible_phoenix_query_payload_0o9jhail/ansible_phoenix_query_payload.zip/ansible/modules/phoenix_query.py",
 line 123, in run_module File 
"/Users/oleg/.local/share/virtualenvs/ansible-collection-alarm_iq-qR_XbeGf/lib/python3.7/site-packages/phoenixdb/__init__.py",
 line 67, in connect return Connection(client, **kwargs) File 
"/Users/oleg/.local/share/virtualenvs/ansible-collection-alarm_iq-qR_XbeGf/lib/python3.7/site-packages/phoenixdb/connection.py",
 line 56, in __init__ self.open() File 
"/Users/oleg/.local/share/virtualenvs/ansible-collection-alarm_iq-qR_XbeGf/lib/python3.7/site-packages/phoenixdb/connection.py",
 line 73, in open self._client.open_connection(self._id, 
info=self._connection_args) File 
"/Users/oleg/.local/share/virtualenvs/ansible-collection-alarm_iq-qR_XbeGf/lib/python3.7/site-packages/phoenixdb/avatica.py",
 line 329, in open_connection response_data = self._apply(request) File 
"/Users/oleg/.local/share/virtualenvs/ansible-collection-alarm_iq-qR_XbeGf/lib/python3.7/site-packages/phoenixdb/avatica.py",
 line 216, in _apply parse_error_protobuf(response_body) File 
"/Users/oleg/.local/share/virtualenvs/ansible-collection-alarm_iq-qR_XbeGf/lib/python3.7/site-packages/phoenixdb/avatica.py",
 line 127, in parse_error_protobuf parse_and_raise_sql_error(err.error_message) 
File 
"/Users/oleg/.local/share/virtualenvs/ansible-collection-alarm_iq-qR_XbeGf/lib/python3.7/site-packages/phoenixdb/avatica.py",
 line 108, in parse_and_raise_sql_error raise_sql_error(int(code), sqlstate, 
message) File 
"/Users/oleg/.local/share/virtualenvs/ansible-collection-alarm_iq-qR_XbeGf/lib/python3.7/site-packages/phoenixdb/avatica.py",
 line 101, in raise_sql_error raise error_class(message, code, sqlstate) 
phoenixdb.errors.OperationalError: ('Malformed connection url. 
:bpl-cookie-hdp-infra-00.devops.guavus.mtl:2181,bpl-cookie-hdp-infra-01.devops.guavus.mtl:2181,bpl-cookie-hdp-infra-02.devops.guavus.mtl:2181:2181:/hbase-unsecure;',
 102, '080 01', None){code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to