Skip to content

Commit 898c4e5

Browse files
google-genai-botcopybara-github
authored andcommitted
fix: empty events_iterator assignment
PiperOrigin-RevId: 894188179
1 parent 7913a3b commit 898c4e5

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

src/google/adk/sessions/vertex_ai_session_service.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ async def get_session(
176176
get_session_response = await api_client.agent_engines.sessions.get(
177177
name=session_resource_name
178178
)
179-
events_iterator = []
179+
events_iterator = None
180180
else:
181181
get_session_response, events_iterator = await asyncio.gather(
182182
api_client.agent_engines.sessions.get(name=session_resource_name),
@@ -210,8 +210,9 @@ async def get_session(
210210
# to discard events written milliseconds after the session resource was
211211
# updated. Clock skew between those writes can otherwise drop tool_result
212212
# events and permanently break the replayed conversation.
213-
async for event in events_iterator:
214-
session.events.append(_from_api_event(event))
213+
if events_iterator is not None:
214+
async for event in events_iterator:
215+
session.events.append(_from_api_event(event))
215216

216217
if config:
217218
# Filter events based on num_recent_events.

tests/unittests/sessions/test_vertex_ai_session_service.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -696,6 +696,20 @@ async def test_get_session_with_many_events(mock_api_client_instance):
696696
assert len(session.events) == MANY_EVENTS_COUNT
697697

698698

699+
@pytest.mark.asyncio
700+
@pytest.mark.usefixtures('mock_get_api_client')
701+
async def test_get_session_with_num_recent_events_zero():
702+
session_service = mock_vertex_ai_session_service()
703+
session = await session_service.get_session(
704+
app_name='123',
705+
user_id='user',
706+
session_id='2',
707+
config=GetSessionConfig(num_recent_events=0),
708+
)
709+
assert session is not None
710+
assert len(session.events) == 0
711+
712+
699713
@pytest.mark.asyncio
700714
@pytest.mark.usefixtures('mock_get_api_client')
701715
async def test_list_sessions():

0 commit comments

Comments
 (0)