From 414be28c741ef7a33580cc7b8baf6dc05752485b Mon Sep 17 00:00:00 2001 From: Jianfeng Mao <4297243+jmao-denver@users.noreply.github.com> Date: Fri, 1 Dec 2023 13:32:44 -0700 Subject: [PATCH] Don't run run_scrip/_refresh_token under lock (#4906) --- py/client/pydeephaven/session.py | 18 ++++++++---------- py/client/tests/test_session.py | 8 ++++++++ 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/py/client/pydeephaven/session.py b/py/client/pydeephaven/session.py index 217743ea5b7..df4d4107f79 100644 --- a/py/client/pydeephaven/session.py +++ b/py/client/pydeephaven/session.py @@ -334,12 +334,11 @@ def _keep_alive(self): self._keep_alive_timer.start() def _refresh_token(self): - with self._r_lock: - try: - self._flight_client.authenticate(self._auth_handler) - except Exception as e: - self.is_connected = False - raise DHError("failed to refresh auth token") from e + try: + self._flight_client.authenticate(self._auth_handler) + except Exception as e: + self.is_connected = False + raise DHError("failed to refresh auth token") from e @property def is_alive(self) -> bool: @@ -385,10 +384,9 @@ def run_script(self, script: str) -> None: Raises: DHError """ - with self._r_lock: - response = self.console_service.run_script(script) - if response.error_message != '': - raise DHError("could not run script: " + response.error_message) + response = self.console_service.run_script(script) + if response.error_message != '': + raise DHError("could not run script: " + response.error_message) def open_table(self, name: str) -> Table: """Opens a table in the global scope with the given name on the server. diff --git a/py/client/tests/test_session.py b/py/client/tests/test_session.py index fe75d170ff3..b5b71bc83d5 100644 --- a/py/client/tests/test_session.py +++ b/py/client/tests/test_session.py @@ -56,6 +56,10 @@ def test_time_table(self): session.bind_table("t", t) session.run_script(""" from deephaven import empty_table +try: + del t1 +except NameError: + pass t1 = empty_table(0) if t.is_blink else None """) self.assertNotIn("t1", session.tables) @@ -64,6 +68,10 @@ def test_time_table(self): session.bind_table("t", t) session.run_script(""" from deephaven import empty_table +try: + del t1 +except NameError: + pass t1 = empty_table(0) if t.is_blink else None """) self.assertIn("t1", session.tables)