Closed Liam730 closed 4 years ago
Hi Liam, It looks like your database was fully constructed and populated in index mode, given the log and the db size, but the indexing was not fully executed. (The final size of the full and indexed database is ~260 GB.) The db can be used in this state, but completing the indexing makes it much faster to run the experiment mode queries afterwards. I set this up to pass that error since the indexing isn't critical to forming the database, but I think it's likely that the failed indexing's operational error is a "disk or database full" operational error similar to what you got in the experiment mode. This is most likely caused by the directory that is being used for temporary file storage being out of space, and if this is the issue I should be able to solve this by adding a command line option for you to specify the desired temp file directory (https://sqlite.org/c3ref/temp_directory.html). The list of where sqlite looks for temp file storage is here: https://sqlite.org/tempfiles.html#tempdir Do you know how much space you have in /var/tmp, /usr/tmp, or /tmp (if available, in that order)?
For now, don't re-run the index mode since your database is completely populated and only the indexing remains. Once we make sure the temp file directory is the issue, I can add an "index the created database" mode, or you could execute the indexing in an interactive sqlite3 session.
Julianne
Hi Julianne,
Thanks for your reply!
I checked the size of the tmp
dir. It said 4.4G out of 20G was available. How much space does the indexing process need for the tmp
dir?
To see if tmp
space counts, I transferred the new_jx_index.db
to a server with ~20G left in the tmp
dir and tried to create the samp_id_index
and jx_samp_id_index
indices for the jx_sample_map
table by referring your index.py
code in an interactive Sqlite3 session. What surprised me was that these indices were created without any error encountered after ~3.5h! The size of the database come to 248G, equal to the requirement. Next, I run jx_indexer.py
in experiment mode. Few hours passed, no error has occurred till now. Then, the same operation was performed on my workstation to create indices manually. The error Error: database or disk is full
occurred again. So, it is indeed the insufficient space of the tmp
dir on my workstation that caused this error. I will go ahead with the following steps. Thanks a lot for your help!
Best,
Liam
Hi Liam, Thanks for the update - I'm glad that was indeed the problem. I will add setting the temp directory as an optional command line parameter for future users, and close this issue.
Julianne
Dear Julianne,
After around 24h of running the
jx_indexer.py
in index mode to create thenew_jx_index.db
, the log said "jxsamp2 operational error" and "jxsampleindex operational error" and the size of database was around 123G. Then, I tried to run the script in experiment mode, but it said "database or disk is full". I have not change the max page size of the sql database and the space of this project directory in my workstation has 15T left. So, I want to know whether the database had been successfully constructed in index mode. If not, whether the error could be "full database"? The code was attached below.Thanks in advance!
Best,
Liam
Running
jx_indexer.py
in index mode.Running
jx_indexer.py
in experiment mode.