This is an automated email from the ASF dual-hosted git repository.
ivandasch pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite-python-thin-client.git
The following commit(s) were added to refs/heads/master by this push:
new b32131b IGNITE-18788 Fix firing query events only if debug level
logger enabled. (#62)
b32131b is described below
commit b32131b28bc83d96d60ec2f0090a5958fd87ed53
Author: Ivan Daschinskiy <[email protected]>
AuthorDate: Tue Feb 14 13:27:20 2023 +0300
IGNITE-18788 Fix firing query events only if debug level logger enabled.
(#62)
---
.github/workflows/pr_check.yml | 4 ++--
pyignite/queries/query.py | 29 +++++++++++++++--------------
tests/common/test_query_listener.py | 12 ++++++++++++
tox.ini | 6 ++++--
4 files changed, 33 insertions(+), 18 deletions(-)
diff --git a/.github/workflows/pr_check.yml b/.github/workflows/pr_check.yml
index 2330e1d..8ceefb7 100644
--- a/.github/workflows/pr_check.yml
+++ b/.github/workflows/pr_check.yml
@@ -42,7 +42,7 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
- uses: actions/setup-python@v4
+ uses: actions/[email protected]
with:
python-version: ${{ matrix.cfg.python}}
- name: Install Apache Ignite
@@ -54,7 +54,7 @@ jobs:
- name: Install tox
run: |
- pip install tox
+ pip install tox==3.28.0
- name: Run tests
run: |
diff --git a/pyignite/queries/query.py b/pyignite/queries/query.py
index c141b26..6ac16d8 100644
--- a/pyignite/queries/query.py
+++ b/pyignite/queries/query.py
@@ -247,26 +247,27 @@ class Query:
self.op_code,
_get_op_code_name(self.op_code))
def _on_query_finished(self, conn, result=None, err=None):
- if logger.isEnabledFor(logging.DEBUG):
- dur_ms = _sec_to_millis(time.monotonic() - self._start_ts)
- if result and result.status != 0:
- err = result.message
- if err:
+ dur_ms = _sec_to_millis(time.monotonic() - self._start_ts)
+ if result and result.status != 0:
+ err = result.message
+ if err:
+ if logger.isEnabledFor(logging.DEBUG):
logger.debug("Failed to perform query(query_id=%d, op_type=%s,
host=%s, port=%d, node_id=%s) "
"in %d ms: %s", self.query_id,
_get_op_code_name(self.op_code),
conn.host, conn.port, conn.uuid, dur_ms, err)
- if self._enabled_query_listener(conn):
- self._event_listener(conn).publish_query_fail(conn.host,
conn.port, conn.uuid, self.query_id,
-
self.op_code, _get_op_code_name(self.op_code),
- dur_ms, err)
- else:
+ if self._enabled_query_listener(conn):
+ self._event_listener(conn).publish_query_fail(conn.host,
conn.port, conn.uuid, self.query_id,
+ self.op_code,
_get_op_code_name(self.op_code),
+ dur_ms, err)
+ else:
+ if logger.isEnabledFor(logging.DEBUG):
logger.debug("Finished query(query_id=%d, op_type=%s, host=%s,
port=%d, node_id=%s) "
"successfully in %d ms", self.query_id,
_get_op_code_name(self.op_code),
conn.host, conn.port, conn.uuid, dur_ms)
- if self._enabled_query_listener(conn):
-
self._event_listener(conn).publish_query_success(conn.host, conn.port,
conn.uuid, self.query_id,
-
self.op_code, _get_op_code_name(self.op_code),
- dur_ms)
+ if self._enabled_query_listener(conn):
+ self._event_listener(conn).publish_query_success(conn.host,
conn.port, conn.uuid, self.query_id,
+ self.op_code,
_get_op_code_name(self.op_code),
+ dur_ms)
class ConfigQuery(Query):
diff --git a/tests/common/test_query_listener.py
b/tests/common/test_query_listener.py
index 8310117..85d1550 100644
--- a/tests/common/test_query_listener.py
+++ b/tests/common/test_query_listener.py
@@ -36,6 +36,18 @@ class QueryRouteListener(QueryEventListener):
events.append(event)
[email protected](autouse=True)
+def setup_logger():
+ from pyignite.queries.query import logger
+
+ try:
+ # Disable logger in order to test events with disabled debug logging.
+ logger.disabled = True
+ yield logger
+ finally:
+ logger.disabled = False
+
+
@pytest.fixture
def client():
client = Client(event_listeners=[QueryRouteListener()])
diff --git a/tox.ini b/tox.ini
index d68f02e..2fe65b4 100644
--- a/tox.ini
+++ b/tox.ini
@@ -29,11 +29,13 @@ max-line-length=120
ignore = F401,F403,F405,F821
[testenv:codestyle]
-basepython = python3.8
+basepython = python3.11
commands = flake8
[testenv]
-passenv = TEAMCITY_VERSION IGNITE_HOME
+passenv =
+ TEAMCITY_VERSION
+ IGNITE_HOME
envdir = {homedir}/.virtualenvs/pyignite-{envname}
deps =
-r ./requirements/install.txt