Hi, I have been trying to free up space in my leader pioreactor (it was at 86%) but I keep running into problems. I think the SQL database might have gotten corrupted (it does not seem to find the "experiments" table). I also cannot access the UI as a result. How do you recommend proceeding about this?
I provide the leader logs below
Thank you again
pioreactor@URSULA:~ $ pio logs
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/pioreactorui/pioreactorui/api.py", line 2334, in get_experiments_worker_assignments
result = query_app_db(
^^^^^^^^^^^^^
File "/var/www/pioreactorui/pioreactorui/init.py", line 225, in query_app_db
cur = _get_app_db_connection().execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sqlite3.OperationalError: no such table: experiments
2026-04-15T13:24:41-0700 [pioreactorui-URSULA] ERROR Exception on /api/experiments/assignment_count [GET]
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/pioreactorui/pioreactorui/api.py", line 2334, in get_experiments_worker_assignments
result = query_app_db(
^^^^^^^^^^^^^
File "/var/www/pioreactorui/pioreactorui/init.py", line 225, in query_app_db
cur = _get_app_db_connection().execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sqlite3.OperationalError: no such table: experiments
2026-04-15T13:24:50-0700 [pioreactorui-URSULA] ERROR Exception on /api/experiments/260411_ETPC_SPROT_HT_G [GET]
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/pioreactorui/pioreactorui/api.py", line 1711, in get_experiment
result = query_app_db(
^^^^^^^^^^^^^
File "/var/www/pioreactorui/pioreactorui/init.py", line 225, in query_app_db
cur = _get_app_db_connection().execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sqlite3.OperationalError: no such table: experiments
2026-04-15T13:24:50-0700 [pioreactorui-URSULA] ERROR no such table: experiments
2026-04-15T13:24:50-0700 [pioreactorui-URSULA] ERROR no such table: latest_experiment
2026-04-15T13:24:50-0700 [pioreactorui-URSULA] ERROR Exception on /api/experiments/assignment_count [GET]
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/pioreactorui/pioreactorui/api.py", line 2334, in get_experiments_worker_assignments
result = query_app_db(
^^^^^^^^^^^^^
File "/var/www/pioreactorui/pioreactorui/init.py", line 225, in query_app_db
cur = _get_app_db_connection().execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sqlite3.OperationalError: no such table: experiments
2026-04-15T13:24:50-0700 [pioreactorui-URSULA] ERROR Exception on /api/experiments/assignment_count [GET]
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/pioreactorui/pioreactorui/api.py", line 2334, in get_experiments_worker_assignments
result = query_app_db(
^^^^^^^^^^^^^
File "/var/www/pioreactorui/pioreactorui/init.py", line 225, in query_app_db
cur = _get_app_db_connection().execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sqlite3.OperationalError: no such table: experiments
Hi, I have been trying to free up space in my leader pioreactor (it was at 86%) but I keep running into problems. I think the SQL database might have gotten corrupted (it does not seem to find the "experiments" table). I also cannot access the UI as a result. How do you recommend proceeding about this?
I provide the leader logs below
Thank you again
pioreactor@URSULA:~ $ pio logs
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/pioreactorui/pioreactorui/api.py", line 2334, in get_experiments_worker_assignments
result = query_app_db(
^^^^^^^^^^^^^
File "/var/www/pioreactorui/pioreactorui/init.py", line 225, in query_app_db
cur = _get_app_db_connection().execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sqlite3.OperationalError: no such table: experiments
2026-04-15T13:24:41-0700 [pioreactorui-URSULA] ERROR Exception on /api/experiments/assignment_count [GET]
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/pioreactorui/pioreactorui/api.py", line 2334, in get_experiments_worker_assignments
result = query_app_db(
^^^^^^^^^^^^^
File "/var/www/pioreactorui/pioreactorui/init.py", line 225, in query_app_db
cur = _get_app_db_connection().execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sqlite3.OperationalError: no such table: experiments
2026-04-15T13:24:50-0700 [pioreactorui-URSULA] ERROR Exception on /api/experiments/260411_ETPC_SPROT_HT_G [GET]
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/pioreactorui/pioreactorui/api.py", line 1711, in get_experiment
result = query_app_db(
^^^^^^^^^^^^^
File "/var/www/pioreactorui/pioreactorui/init.py", line 225, in query_app_db
cur = _get_app_db_connection().execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sqlite3.OperationalError: no such table: experiments
2026-04-15T13:24:50-0700 [pioreactorui-URSULA] ERROR no such table: experiments
2026-04-15T13:24:50-0700 [pioreactorui-URSULA] ERROR no such table: latest_experiment
2026-04-15T13:24:50-0700 [pioreactorui-URSULA] ERROR Exception on /api/experiments/assignment_count [GET]
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/pioreactorui/pioreactorui/api.py", line 2334, in get_experiments_worker_assignments
result = query_app_db(
^^^^^^^^^^^^^
File "/var/www/pioreactorui/pioreactorui/init.py", line 225, in query_app_db
cur = _get_app_db_connection().execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sqlite3.OperationalError: no such table: experiments
2026-04-15T13:24:50-0700 [pioreactorui-URSULA] ERROR Exception on /api/experiments/assignment_count [GET]
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/pioreactorui/pioreactorui/api.py", line 2334, in get_experiments_worker_assignments
result = query_app_db(
^^^^^^^^^^^^^
File "/var/www/pioreactorui/pioreactorui/init.py", line 225, in query_app_db
cur = _get_app_db_connection().execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sqlite3.OperationalError: no such table: experiments