Skip to content

Commit 66ddb01

Browse files
committed
Log on retries
1 parent d2ae428 commit 66ddb01

File tree

5 files changed

+17
-6
lines changed

5 files changed

+17
-6
lines changed

graphdatascience/query_runner/gds_arrow_client.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import base64
44
import json
5+
import logging
56
import re
67
import time
78
import warnings
@@ -34,11 +35,15 @@
3435
wait_fixed,
3536
)
3637

38+
from graphdatascience.retry_utils.retry_utils import before_log
39+
3740
from ..semantic_version.semantic_version import SemanticVersion
3841
from ..version import __version__
3942
from .arrow_endpoint_version import ArrowEndpointVersion
4043
from .arrow_info import ArrowInfo
4144

45+
_arrow_client_logger = logging.getLogger("gds_arrow_client")
46+
4247

4348
class GdsArrowClient:
4449
@staticmethod
@@ -148,6 +153,7 @@ def connection_info(self) -> tuple[str, int]:
148153
return self._host, self._port
149154

150155
@retry(
156+
before=before_log("Request token", _arrow_client_logger, logging.DEBUG),
151157
retry=retry_any(retry_if_exception_type(FlightTimedOutError), retry_if_exception_type(FlightUnavailableError)),
152158
stop=stop_after_attempt(3),
153159
wait=wait_fixed(1),
@@ -593,6 +599,7 @@ def _client(self) -> flight.FlightClient:
593599
return self._flight_client
594600

595601
@retry(
602+
before=before_log("Send action", _arrow_client_logger, logging.DEBUG),
596603
retry=retry_any(retry_if_exception_type(FlightTimedOutError), retry_if_exception_type(FlightUnavailableError)),
597604
stop=(stop_after_delay(10) | stop_after_attempt(5)),
598605
wait=wait_exponential(multiplier=1, min=1, max=10),
@@ -614,6 +621,7 @@ def _send_action(self, action_type: str, meta_data: dict[str, Any]) -> dict[str,
614621
raise e # unreachable
615622

616623
@retry(
624+
before=before_log("Do put", _arrow_client_logger, logging.DEBUG),
617625
retry=retry_any(retry_if_exception_type(FlightTimedOutError), retry_if_exception_type(FlightUnavailableError)),
618626
stop=(stop_after_delay(10) | stop_after_attempt(5)),
619627
wait=wait_exponential(multiplier=1, min=1, max=10),
@@ -644,6 +652,7 @@ def _upload_data(
644652
put_stream, ack_stream = self._safe_do_put(upload_descriptor, batches[0].schema)
645653

646654
@retry(
655+
before=before_log("Upload batch", _arrow_client_logger, logging.DEBUG),
647656
stop=(stop_after_delay(10) | stop_after_attempt(5)),
648657
wait=wait_exponential(multiplier=1, min=1, max=10),
649658
retry=(
@@ -665,6 +674,7 @@ def upload_batch(p: RecordBatch) -> None:
665674
GdsArrowClient.handle_flight_error(e)
666675

667676
@retry(
677+
before=before_log("Do get", _arrow_client_logger, logging.DEBUG),
668678
retry=retry_any(retry_if_exception_type(FlightTimedOutError), retry_if_exception_type(FlightUnavailableError)),
669679
stop=(stop_after_delay(10) | stop_after_attempt(5)),
670680
wait=wait_exponential(multiplier=1, min=1, max=10),

graphdatascience/query_runner/protocol/project_protocols.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77

88
from graphdatascience import QueryRunner
99
from graphdatascience.call_parameters import CallParameters
10-
from graphdatascience.query_runner.protocol.retry_utils import before_log
1110
from graphdatascience.query_runner.protocol.status import Status
1211
from graphdatascience.query_runner.termination_flag import TerminationFlag
12+
from graphdatascience.retry_utils.retry_utils import before_log
1313
from graphdatascience.session.dbms.protocol_version import ProtocolVersion
1414

1515

graphdatascience/query_runner/protocol/write_protocols.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77

88
from graphdatascience import QueryRunner
99
from graphdatascience.call_parameters import CallParameters
10-
from graphdatascience.query_runner.protocol.retry_utils import before_log
1110
from graphdatascience.query_runner.protocol.status import Status
1211
from graphdatascience.query_runner.termination_flag import TerminationFlag
12+
from graphdatascience.retry_utils.retry_utils import before_log
1313
from graphdatascience.session.dbms.protocol_version import ProtocolVersion
1414

1515

graphdatascience/retry_utils/__init__.py

Whitespace-only changes.

graphdatascience/query_runner/protocol/retry_utils.py renamed to graphdatascience/retry_utils/retry_utils.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,10 @@ def before_log(
1111
sec_format: str = "%0.3f",
1212
) -> typing.Callable[[RetryCallState], None]:
1313
def log_it(retry_state: RetryCallState) -> None:
14-
logger.log(
15-
log_level,
16-
f"Retry of '{fn_name}', " f"attempt: {retry_state.attempt_number}",
17-
)
14+
if retry_state.attempt_number > 1: # only log on actual retry
15+
logger.log(
16+
log_level,
17+
f"Retry of '{fn_name}', " f"attempt: {retry_state.attempt_number}",
18+
)
1819

1920
return log_it

0 commit comments

Comments
 (0)