Yair
09/01/2022, 9:14 PMException in thread "main" io.questdb.cairo.CairoException: [-100] Invalid metadata at fd=1460. Metadata version does not match runtime version [expected=426, actual=0]
... Is there anything I can do? Or did I just lose the whole database..?Jaromir Hamala
09/02/2022, 9:07 AMYair
09/02/2022, 11:05 AMJaromir Hamala
09/02/2022, 12:03 PMdb
directory - this way no matter what you do you can always go back to the current state.
then I would try to remove the telemetry_config
directory and start questdb. if it’s just this table damaged then questdb will recreate it again. that’s not a big deal. if there are other tables damaged then it’s going a bit more complicated. @Miguel Arregui is the expert on detaching partitions so he might know what’s the best way to detach a potentially damaged partition from a table. while questdb is not running. but perhaps it wont be needed at all.Miguel Arregui
09/02/2022, 12:27 PMYair
09/02/2022, 1:03 PM_meta
file... Also, which _meta
file are you referring to? The one in the telemetry folder? Or the ones in the tables folders?
The database itself has around 5TB of data at the moment.. about 24 tables, only 3 were written to while it happened. I do not have backups for the table/database itself but can always re create it. Just a pain since it's a lot of time/data. Best solution would be to get rid of only last bad partitions and continue from there. Worse would be get rid of those 3 tables and keep the others. The worst would be to start with fresh db, not only because of the time lost, but also knowing it can happen again and there is no solution, that would be bad..Miguel Arregui
09/02/2022, 3:31 PMdb
folder. Inside the table folder you will see "global" files _meta _cv _txn ... and then you will see a folder per partition. I am referring to the global _meta file for the affected table.
Indeed the logs suggest that. I took the message in red that you pasted above and I dug into the code. Please try to delete the telemetry table.Yair
09/02/2022, 4:25 PMtelemetry
, telemetry_config
and sys.column_versions_purge_log
folders.
Checking the last records on the tables I was writing to, and comparing to the folders inside the db
folder, I can see there are couple of days of extra on the disk, that I cannot see/query from the database.
Should I just manually delete those folders and re-insert all records for those days? My tables are Partitioned by DAY so it's really individual daily folders.Miguel Arregui
09/05/2022, 6:55 AM