From 724d5a28972bf83c1ae815b3a066488b702607ec Mon Sep 17 00:00:00 2001 From: Kraiem Taha Yassine Date: Thu, 20 Feb 2025 13:30:36 +0100 Subject: [PATCH] Dev (#3046) * refactor(chalice): upgraded dependencies * refactor(chalice): changed logging * fix(chalice): fixed CH pagination --- api/chalicelib/core/metrics/product_analytics_ch.py | 9 +++------ api/chalicelib/core/sessions/sessions_ch.py | 6 +++--- api/chalicelib/utils/ch_client_exp.py | 2 +- ee/api/Pipfile | 2 +- 4 files changed, 8 insertions(+), 11 deletions(-) diff --git a/api/chalicelib/core/metrics/product_analytics_ch.py b/api/chalicelib/core/metrics/product_analytics_ch.py index c19542ede..44c94952e 100644 --- a/api/chalicelib/core/metrics/product_analytics_ch.py +++ b/api/chalicelib/core/metrics/product_analytics_ch.py @@ -488,11 +488,10 @@ SELECT * FROM pre_ranked_events;""" logger.debug("---------Q1-----------") ch_query1 = ch.format(query=ch_query1, parameters=params) - logger.debug(ch_query1.encode('utf-8')) ch.execute(query=ch_query1) if time() - _now > 2: logger.warning(f">>>>>>>>>PathAnalysis long query EE ({int(time() - _now)}s)<<<<<<<<<") - logger.warning(ch_query1.encode('utf-8')) + logger.warning(str.encode(ch_query1)) logger.warning("----------------------") _now = time() @@ -515,11 +514,10 @@ FROM ranked_events {q2_extra_condition if q2_extra_condition else ""};""" logger.debug("---------Q2-----------") ch_query2 = ch.format(query=ch_query2, parameters=params) - logger.debug(ch_query2.encode('utf-8')) ch.execute(query=ch_query2) if time() - _now > 2: logger.warning(f">>>>>>>>>PathAnalysis long query EE ({int(time() - _now)}s)<<<<<<<<<") - logger.warning(ch_query2.encode('utf-8')) + logger.warning(str.encode(ch_query2)) logger.warning("----------------------") _now = time() @@ -630,11 +628,10 @@ FROM ranked_events ORDER BY event_number_in_session, sessions_count DESC;""" logger.debug("---------Q3-----------") ch_query3 = ch.format(query=ch_query3, parameters=params) - logger.debug(ch_query3.encode('utf-8')) rows = ch.execute(query=ch_query3) if time() - _now > 2: logger.warning(f">>>>>>>>>PathAnalysis long query EE ({int(time() - _now)}s)<<<<<<<<<") - logger.warning(ch_query3.encode('utf-8')) + logger.warning(str.encode(ch_query3)) logger.warning("----------------------") return __transform_journey(rows=rows, reverse_path=reverse) diff --git a/api/chalicelib/core/sessions/sessions_ch.py b/api/chalicelib/core/sessions/sessions_ch.py index 63c1c9401..91fe824c7 100644 --- a/api/chalicelib/core/sessions/sessions_ch.py +++ b/api/chalicelib/core/sessions/sessions_ch.py @@ -244,7 +244,7 @@ def search2_table(data: schemas.SessionsSearchPayloadSchema, project_id: int, de {extra_where} GROUP BY {main_col} ORDER BY total DESC - LIMIT %(limit_e)s OFFSET %(limit_s)s;""" + LIMIT %(limit)s OFFSET %(limit_s)s;""" else: main_query = f"""SELECT COUNT(DISTINCT {main_col}) OVER () AS main_count, {main_col} AS name, @@ -257,13 +257,13 @@ def search2_table(data: schemas.SessionsSearchPayloadSchema, project_id: int, de {extra_where} GROUP BY {main_col} ORDER BY total DESC - LIMIT %(limit_e)s OFFSET %(limit_s)s;""" + LIMIT %(limit)s OFFSET %(limit_s)s;""" main_query = cur.format(query=main_query, parameters=full_args) logging.debug("--------------------") logging.debug(main_query) logging.debug("--------------------") - sessions = cur.execute(main_query) + sessions = cur.execute(query=main_query) count = 0 total = 0 if len(sessions) > 0: diff --git a/api/chalicelib/utils/ch_client_exp.py b/api/chalicelib/utils/ch_client_exp.py index f91b0361e..f0d631420 100644 --- a/api/chalicelib/utils/ch_client_exp.py +++ b/api/chalicelib/utils/ch_client_exp.py @@ -34,7 +34,7 @@ if config("CH_COMPRESSION", cast=bool, default=True): def transform_result(self, original_function): @wraps(original_function) def wrapper(*args, **kwargs): - logger.debug(self.format(query=kwargs.get("query"), parameters=kwargs.get("parameters"))) + logger.debug(str.encode(self.format(query=kwargs.get("query", ""), parameters=kwargs.get("parameters")))) result = original_function(*args, **kwargs) if isinstance(result, clickhouse_connect.driver.query.QueryResult): column_names = result.column_names diff --git a/ee/api/Pipfile b/ee/api/Pipfile index 2b640c877..46f4da33e 100644 --- a/ee/api/Pipfile +++ b/ee/api/Pipfile @@ -9,7 +9,7 @@ requests = "==2.32.3" boto3 = "==1.36.12" pyjwt = "==2.10.1" psycopg2-binary = "==2.9.10" -psycopg = {extras = ["binary", "pool"], version = "==3.2.4"} +psycopg = {extras = ["pool", "binary"], version = "==3.2.4"} clickhouse-driver = {extras = ["lz4"], version = "==0.2.9"} clickhouse-connect = "==0.8.15" elasticsearch = "==8.17.1"