Skip to content

Commit b32131b

Browse files
authored
IGNITE-18788 Fix firing query events only if debug level logger enabled. (#62)
1 parent ae5ced4 commit b32131b

4 files changed

Lines changed: 33 additions & 18 deletions

File tree

.github/workflows/pr_check.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
steps:
4343
- uses: actions/checkout@v3
4444
- name: Set up Python ${{ matrix.python-version }}
45-
uses: actions/setup-python@v4
45+
uses: actions/setup-python@v4.3.0
4646
with:
4747
python-version: ${{ matrix.cfg.python}}
4848
- name: Install Apache Ignite
@@ -54,7 +54,7 @@ jobs:
5454
5555
- name: Install tox
5656
run: |
57-
pip install tox
57+
pip install tox==3.28.0
5858
5959
- name: Run tests
6060
run: |

pyignite/queries/query.py

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -247,26 +247,27 @@ def _on_query_started(self, conn):
247247
self.op_code, _get_op_code_name(self.op_code))
248248

249249
def _on_query_finished(self, conn, result=None, err=None):
250-
if logger.isEnabledFor(logging.DEBUG):
251-
dur_ms = _sec_to_millis(time.monotonic() - self._start_ts)
252-
if result and result.status != 0:
253-
err = result.message
254-
if err:
250+
dur_ms = _sec_to_millis(time.monotonic() - self._start_ts)
251+
if result and result.status != 0:
252+
err = result.message
253+
if err:
254+
if logger.isEnabledFor(logging.DEBUG):
255255
logger.debug("Failed to perform query(query_id=%d, op_type=%s, host=%s, port=%d, node_id=%s) "
256256
"in %d ms: %s", self.query_id, _get_op_code_name(self.op_code),
257257
conn.host, conn.port, conn.uuid, dur_ms, err)
258-
if self._enabled_query_listener(conn):
259-
self._event_listener(conn).publish_query_fail(conn.host, conn.port, conn.uuid, self.query_id,
260-
self.op_code, _get_op_code_name(self.op_code),
261-
dur_ms, err)
262-
else:
258+
if self._enabled_query_listener(conn):
259+
self._event_listener(conn).publish_query_fail(conn.host, conn.port, conn.uuid, self.query_id,
260+
self.op_code, _get_op_code_name(self.op_code),
261+
dur_ms, err)
262+
else:
263+
if logger.isEnabledFor(logging.DEBUG):
263264
logger.debug("Finished query(query_id=%d, op_type=%s, host=%s, port=%d, node_id=%s) "
264265
"successfully in %d ms", self.query_id, _get_op_code_name(self.op_code),
265266
conn.host, conn.port, conn.uuid, dur_ms)
266-
if self._enabled_query_listener(conn):
267-
self._event_listener(conn).publish_query_success(conn.host, conn.port, conn.uuid, self.query_id,
268-
self.op_code, _get_op_code_name(self.op_code),
269-
dur_ms)
267+
if self._enabled_query_listener(conn):
268+
self._event_listener(conn).publish_query_success(conn.host, conn.port, conn.uuid, self.query_id,
269+
self.op_code, _get_op_code_name(self.op_code),
270+
dur_ms)
270271

271272

272273
class ConfigQuery(Query):

tests/common/test_query_listener.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,18 @@ def on_query_success(self, event):
3636
events.append(event)
3737

3838

39+
@pytest.fixture(autouse=True)
40+
def setup_logger():
41+
from pyignite.queries.query import logger
42+
43+
try:
44+
# Disable logger in order to test events with disabled debug logging.
45+
logger.disabled = True
46+
yield logger
47+
finally:
48+
logger.disabled = False
49+
50+
3951
@pytest.fixture
4052
def client():
4153
client = Client(event_listeners=[QueryRouteListener()])

tox.ini

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,13 @@ max-line-length=120
2929
ignore = F401,F403,F405,F821
3030

3131
[testenv:codestyle]
32-
basepython = python3.8
32+
basepython = python3.11
3333
commands = flake8
3434

3535
[testenv]
36-
passenv = TEAMCITY_VERSION IGNITE_HOME
36+
passenv =
37+
TEAMCITY_VERSION
38+
IGNITE_HOME
3739
envdir = {homedir}/.virtualenvs/pyignite-{envname}
3840
deps =
3941
-r ./requirements/install.txt

0 commit comments

Comments
 (0)