Hi,
I have recently started using MySQL for our testing framework where we store various information, including the result of all the tests in the table 'result' for a single test job.
For one of our long running tests (~2 days), we got an error:
DBD::mysql::st execute failed: Table 'result' is marked as crashed and should be repaired.
This caused the mysql server to stop and the whole test job was aborted.
What could be the reason for the crash and what could be done to recover it?
Is there a way to recover it, while mysql server keeps running as the moment mysql server stops the whole test job aborts and as I mentioned, some of these tests run for days and its not possible for us to recover the test from where it left (we will have to run the test from the beginning) which is really painful.
Here are some of the details that might be of help:
1. We have total 13 tables in our database and all of them are innodb tables.
2. We have a very unusual way of using mysql in the sense that we don't have a persistent mysql server running.
for every job that we run we create a new instance of mysql server (i.e. mysqld) and start it on an available port and when the job finishes, we kill the mysqld process.
that been said, we can have multiple mysqld processes running on the same machine at a given point of time.
3. A test job can have any no. of tests (up to the order of thousands)
Do let me know if you need any more info.
Your help will be highly appreciated.
Thanks,
I have recently started using MySQL for our testing framework where we store various information, including the result of all the tests in the table 'result' for a single test job.
For one of our long running tests (~2 days), we got an error:
DBD::mysql::st execute failed: Table 'result' is marked as crashed and should be repaired.
This caused the mysql server to stop and the whole test job was aborted.
What could be the reason for the crash and what could be done to recover it?
Is there a way to recover it, while mysql server keeps running as the moment mysql server stops the whole test job aborts and as I mentioned, some of these tests run for days and its not possible for us to recover the test from where it left (we will have to run the test from the beginning) which is really painful.
Here are some of the details that might be of help:
1. We have total 13 tables in our database and all of them are innodb tables.
2. We have a very unusual way of using mysql in the sense that we don't have a persistent mysql server running.
for every job that we run we create a new instance of mysql server (i.e. mysqld) and start it on an available port and when the job finishes, we kill the mysqld process.
that been said, we can have multiple mysqld processes running on the same machine at a given point of time.
3. A test job can have any no. of tests (up to the order of thousands)
Do let me know if you need any more info.
Your help will be highly appreciated.
Thanks,