Skip to content

Commit 3938b69

Browse files
DarthMaxFlorentinD
authored andcommitted
Check if a dedicated session exists with a different memory configuration
1 parent b72a7fc commit 3938b69

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

graphdatascience/session/dedicated_sessions.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ def get_or_create(
5252
# TODO configure session size (and check existing_session has same size)
5353
if existing_session:
5454
self._check_expiry_date(existing_session)
55+
self._check_memory_configuration(existing_session, memory)
5556
session_id = existing_session.id
5657
else:
5758
create_details = self._create_session(session_name, dbid, db_connection.uri, password, memory)
@@ -118,7 +119,7 @@ def _create_session(
118119
name=session_name,
119120
dbid=dbid,
120121
pwd=pwd,
121-
memory=memory.value,
122+
memory=memory,
122123
)
123124
return create_details
124125

@@ -139,6 +140,13 @@ def _check_expiry_date(self, session: SessionDetails) -> None:
139140
if until_expiry < timedelta(days=1):
140141
raise Warning(f"Session `{session.name}` is expiring in less than a day.")
141142

143+
def _check_memory_configuration(self, existing_session: SessionDetails, requested_memory: SessionMemory) -> None:
144+
if existing_session.memory != requested_memory:
145+
raise RuntimeError(
146+
f"Session `{existing_session.name}` exists with a different memory configuration. "
147+
f"Current: {existing_session.memory.value}, Requested: {requested_memory.value}."
148+
)
149+
142150
@classmethod
143151
def _fail_ambiguous_session(cls, session_name: str, sessions: List[SessionDetails]) -> None:
144152
candidates = [i.id for i in sessions]

0 commit comments

Comments
 (0)