https://prefect.io logo
r

Ronald Sam

07/25/2023, 4:02 PM
Hi team, I'm getting a sqllite database is locked error
here's my stack trace:
Worker 'ProcessWorker 97e45821-c4f4-4bb2-8e31-b3c883b23c92' started! 155436.552 | ERROR | prefect.server - Encountered exception in request: Traceback (most recent call last): File "D:\Prefect\.venv\lib\site-packages\sqlalchemy\engine\base.py", line 1965, in _exec_single_context self.dialect.do_execute( File "D:\Prefect\.venv\lib\site-packages\sqlalchemy\engine\default.py", line 921, in do_execute cursor.execute(statement, parameters) File "D:\Prefect\.venv\lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 113, in execute self._adapt_connection._handle_exception(error) File "D:\Prefect\.venv\lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 263, in _handle_exception raise error File "D:\Prefect\.venv\lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 95, in execute self.await_(_cursor.execute(operation, parameters)) File "D:\Prefect\.venv\lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 125, in await_only return current.driver.switch(awaitable) # type: ignore[no-any-return] File "D:\Prefect\.venv\lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 185, in greenlet_spawn value = await result File "D:\Prefect\.venv\lib\site-packages\aiosqlite\cursor.py", line 48, in execute await self._execute(self._cursor.execute, sql, parameters) File "D:\Prefect\.venv\lib\site-packages\aiosqlite\cursor.py", line 40, in _execute return await self._conn._execute(fn, *args, **kwargs) File "D:\Prefect\.venv\lib\site-packages\aiosqlite\core.py", line 133, in _execute return await future File "D:\Prefect\.venv\lib\site-packages\aiosqlite\core.py", line 106, in run result = function() sqlite3.OperationalError: database is locked The above exception was the direct cause of the following exception: Traceback (most recent call last): File "D:\Prefect\.venv\lib\site-packages\starlette\middleware\errors.py", line 162, in call await self.app(scope, receive, _send) File "D:\Prefect\.venv\lib\site-packages\starlette\middleware\gzip.py", line 24, in call await responder(scope, receive, send) File "D:\Prefect\.venv\lib\site-packages\starlette\middleware\gzip.py", line 44, in call await self.app(scope, receive, self.send_with_gzip) File "D:\Prefect\.venv\lib\site-packages\starlette\middleware\exceptions.py", line 79, in call raise exc File "D:\Prefect\.venv\lib\site-packages\starlette\middleware\exceptions.py", line 68, in call await self.app(scope, receive, sender) File "D:\Prefect\.venv\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 20, in call raise e File "D:\Prefect\.venv\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 17, in call await self.app(scope, receive, send) File "D:\Prefect\.venv\lib\site-packages\starlette\routing.py", line 718, in call await route.handle(scope, receive, send) File "D:\Prefect\.venv\lib\site-packages\starlette\routing.py", line 276, in handle await self.app(scope, receive, send) File "D:\Prefect\.venv\lib\site-packages\starlette\routing.py", line 66, in app response = await func(request) File "D:\Prefect\.venv\lib\site-packages\prefect\server\utilities\server.py", line 103, in handle_response_scoped_depends response = await default_handler(request) File "D:\Prefect\.venv\lib\site-packages\fastapi\routing.py", line 273, in app raw_response = await run_endpoint_function( File "D:\Prefect\.venv\lib\site-packages\fastapi\routing.py", line 190, in run_endpoint_function return await dependant.call(**values) File "D:\Prefect\.venv\lib\site-packages\prefect\server\api\workers.py", line 539, in worker_heartbeat await models.workers.worker_heartbeat( File "D:\Prefect\.venv\lib\site-packages\prefect\server\database\dependencies.py", line 119, in async_wrapper return await fn(*args, **kwargs) File "D:\Prefect\.venv\lib\site-packages\prefect\server\models\workers.py", line 609, in worker_heartbeat result = await session.execute(insert_stmt) File "D:\Prefect\.venv\lib\site-packages\sqlalchemy\ext\asyncio\session.py", line 439, in execute result = await greenlet_spawn( File "D:\Prefect\.venv\lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 190, in greenlet_spawn result = context.throw(*sys.exc_info()) File "D:\Prefect\.venv\lib\site-packages\sqlalchemy\orm\session.py", line 2246, in execute return self._execute_internal( File "D:\Prefect\.venv\lib\site-packages\sqlalchemy\orm\session.py", line 2141, in _execute_internal result: Result[Any] = compile_state_cls.orm_execute_statement( File "D:\Prefect\.venv\lib\site-packages\sqlalchemy\orm\bulk_persistence.py", line 1272, in orm_execute_statement result = conn.execute( File "D:\Prefect\.venv\lib\site-packages\sqlalchemy\engine\base.py", line 1412, in execute return meth( File "D:\Prefect\.venv\lib\site-packages\sqlalchemy\sql\elements.py", line 483, in _execute_on_connection return connection._execute_clauseelement( File "D:\Prefect\.venv\lib\site-packages\sqlalchemy\engine\base.py", line 1635, in _execute_clauseelement ret = self._execute_context( File "D:\Prefect\.venv\lib\site-packages\sqlalchemy\engine\base.py", line 1844, in _execute_context return self._exec_single_context( File "D:\Prefect\.venv\lib\site-packages\sqlalchemy\engine\base.py", line 1984, in _exec_single_context self._handle_dbapi_exception( File "D:\Prefect\.venv\lib\site-packages\sqlalchemy\engine\base.py", line 2339, in _handle_dbapi_exception raise sqlalchemy_exception.with_traceback(exc_info[2]) from e File "D:\Prefect\.venv\lib\site-packages\sqlalchemy\engine\base.py", line 1965, in _exec_single_context self.dialect.do_execute( File "D:\Prefect\.venv\lib\site-packages\sqlalchemy\engine\default.py", line 921, in do_execute cursor.execute(statement, parameters) File "D:\Prefect\.venv\lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 113, in execute self._adapt_connection._handle_exception(error) File "D:\Prefect\.venv\lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 263, in _handle_exception raise error File "D:\Prefect\.venv\lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 95, in execute self.await_(_cursor.execute(operation, parameters)) File "D:\Prefect\.venv\lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 125, in await_only return current.driver.switch(awaitable) # type: ignore[no-any-return] File "D:\Prefect\.venv\lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 185, in greenlet_spawn value = await result File "D:\Prefect\.venv\lib\site-packages\aiosqlite\cursor.py", line 48, in execute await self._execute(self._cursor.execute, sql, parameters) File "D:\Prefect\.venv\lib\site-packages\aiosqlite\cursor.py", line 40, in _execute return await self._conn._execute(fn, *args, **kwargs) File "D:\Prefect\.venv\lib\site-packages\aiosqlite\core.py", line 133, in _execute return await future File "D:\Prefect\.venv\lib\site-packages\aiosqlite\core.py", line 106, in run result = function() sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) database is locked [SQL: INSERT INTO worker (name, last_heartbeat_time, work_pool_id, id, created, updated) VALUES (:name, :last_heartbeat_time, :work_pool_id, :id, :created, :updated) ON CONFLICT (work_pool_id, name) DO UPDATE SET last_heartbeat_time = :param_1] [parameters: {'name': 'ProcessWorker 97e45821-c4f4-4bb2-8e31-b3c883b23c92', 'last_heartbeat_time': '2023-07-25 155436.546542', 'work_pool_id': '51dd9272-b47f-40ef-b7f7-020539255582', 'id': '0a39d0a7-486f-4aba-9b61-1497fc05e0d8', 'created': '2023-07-25 155436.546542', 'updated': '2023-07-25 155436.546542', 'param_1': '2023-07-25 155436.546542'}] (Background on this error at: https://sqlalche.me/e/20/e3q8)
This is a new install and I'm using windows
any ideas on how to resolve please?
hi @Taylor Curran, any idea on how to resolve this?