Skip to content

Commit fefa6c4

Browse files
SNOW-2690900-isolate-server_session_keep_alive-condition
1 parent b8b6a44 commit fefa6c4

File tree

2 files changed

+39
-23
lines changed

2 files changed

+39
-23
lines changed

src/snowflake/connector/aio/_connection.py

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -930,22 +930,29 @@ async def close(self, retry: bool = True) -> None:
930930

931931
if self.telemetry_enabled:
932932
await self._telemetry.close(retry=retry)
933-
if (
934-
await self._all_async_queries_finished()
935-
and not self._server_session_keep_alive
936-
):
937-
logger.debug("No async queries seem to be running, deleting session")
938-
try:
939-
await self.rest.delete_session(retry=retry)
940-
except Exception as e:
933+
934+
if not self._server_session_keep_alive:
935+
if await self._all_async_queries_finished():
936+
logger.debug("No async queries seem to be running, deleting session")
937+
try:
938+
await self.rest.delete_session(retry=retry)
939+
except Exception as e:
940+
logger.debug(
941+
"Exception encountered in deleting session. ignoring...: %s", e
942+
)
943+
else:
941944
logger.debug(
942-
"Exception encountered in deleting session. ignoring...: %s", e
945+
"There are {} async queries still running, not deleting session".format(
946+
len(self._async_sfqids)
947+
)
943948
)
944949
else:
945-
logger.debug(
946-
"There are {} async queries still running, not deleting session".format(
947-
len(self._async_sfqids)
948-
)
950+
logger.info(
951+
"Parameter server_session_keep_alive was set to True - skipping session logout. "
952+
"If there are any not-finished queries in the current session (session_id: %s) - "
953+
"they will continue to live in Snowflake and consume credits until they finish. "
954+
"To cancel them use Monitoring tab in Snowsight or plain SQL.",
955+
self.session_id,
949956
)
950957
await self.rest.close()
951958
self._rest = None

src/snowflake/connector/connection.py

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1197,17 +1197,26 @@ def close(self, retry: bool = True) -> None:
11971197
logger.debug("closed")
11981198
if self.telemetry_enabled:
11991199
self._telemetry.close(retry=retry)
1200-
if (
1201-
self._all_async_queries_finished()
1202-
and not self._server_session_keep_alive
1203-
):
1204-
logger.debug("No async queries seem to be running, deleting session")
1205-
self.rest.delete_session(retry=retry)
1206-
else:
1207-
logger.debug(
1208-
"There are {} async queries still running, not deleting session".format(
1209-
len(self._async_sfqids)
1200+
1201+
if not self._server_session_keep_alive:
1202+
if self._all_async_queries_finished():
1203+
logger.debug(
1204+
"No async queries seem to be running, deleting session"
1205+
)
1206+
self.rest.delete_session(retry=retry)
1207+
else:
1208+
logger.debug(
1209+
"There are {} async queries still running, not deleting session".format(
1210+
len(self._async_sfqids)
1211+
)
12101212
)
1213+
else:
1214+
logger.info(
1215+
"Parameter server_session_keep_alive was set to True - skipping session logout. "
1216+
"If there are any not-finished queries in the current session (session_id: %s) - "
1217+
"they will continue to live in Snowflake and consume credits until they finish. "
1218+
"To cancel them use Monitoring tab in Snowsight or plain SQL.",
1219+
self.session_id,
12111220
)
12121221
self.rest.close()
12131222
self._rest = None

0 commit comments

Comments
 (0)