Skip to content

I/O error cause db tables to be corrupted

In the CLimate DT VM logs I noticed that due to I/O errors, the background tasks will fail in further operations. Something that we should be aware of.

Here is one example:

Traceback (most recent call last):
  File "/appl/soft/4.0.0b2/lib64/python3.9/site-packages/autosubmit_api-4.0.0b2-py3.9.egg/autosubmit_api/experiment/common_db_requests.py", line 263, in create_many_job_times
    conn.commit()
sqlite3.OperationalError: disk I/O error

Error on Insert : OperationalError
Traceback (most recent call last):
  File "/appl/soft/4.0.0b2/lib64/python3.9/site-packages/autosubmit_api-4.0.0b2-py3.9.egg/autosubmit_api/experiment/common_db_requests.py", line 260, in create_many_job_times
    cur.executemany(sql, list_job)
sqlite3.DatabaseError: database disk image is malformed

Error on Insert : DatabaseError
Traceback (most recent call last):
  File "/appl/soft/4.0.0b2/lib64/python3.9/site-packages/autosubmit_api-4.0.0b2-py3.9.egg/autosubmit_api/experiment/common_db_requests.py", line 260, in create_many_job_times
    cur.executemany(sql, list_job)
sqlite3.DatabaseError: database disk image is malformed

Error on Insert : DatabaseError
Traceback (most recent call last):
  File "/appl/soft/4.0.0b2/lib64/python3.9/site-packages/autosubmit_api-4.0.0b2-py3.9.egg/autosubmit_api/experiment/common_db_requests.py", line 260, in create_many_job_times
    cur.executemany(sql, list_job)
sqlite3.DatabaseError: database disk image is malformed

Luckily, in this last example, the table is truncated every time it is populated (which is inefficient). So, the corrupted table is fixed on the next execution.