Problem
A kagent Go ADK agent uses a SQLite session database at /data/sessions.db. After restoring a Cloud Hypervisor backed microVM snapshot taken while the database connection is open, the agent becomes available, but its first message fails:
failed to create session: ... attempt to write a readonly database (1032)
SQLite reports SQLITE_READONLY_DBMOVED: the database path no longer identifies the file held by the open connection. The failure occurs before the model call.
Steps to Reproduce
- Configure a Go ADK agent to store sessions in SQLite under
/data.
- Start the agent and take a Cloud Hypervisor backed microVM snapshot while the database connection is open.
- Create a session that restores the agent from the snapshot.
- Send the session’s first message.
Expected Behavior
The agent creates the session and handles its first message after restore.
Actual Behavior
Session creation fails with SQLite error 1032.
Environment
Go ADK agent with a SQLite session store, using Cloud Hypervisor microVM snapshot/restore. This is not a gVisor workload.
Problem
A kagent Go ADK agent uses a SQLite session database at
/data/sessions.db. After restoring a Cloud Hypervisor backed microVM snapshot taken while the database connection is open, the agent becomes available, but its first message fails:failed to create session: ... attempt to write a readonly database (1032)SQLite reports
SQLITE_READONLY_DBMOVED: the database path no longer identifies the file held by the open connection. The failure occurs before the model call.Steps to Reproduce
/data.Expected Behavior
The agent creates the session and handles its first message after restore.
Actual Behavior
Session creation fails with SQLite error 1032.
Environment
Go ADK agent with a SQLite session store, using Cloud Hypervisor microVM snapshot/restore. This is not a gVisor workload.