c41e1bd1eb
On file access LDBStore's tryAccessIdx() function created a faulty GC Index Data entry, because not indexing the ikey correctly. That caused the chunk addresses/hashes to start with '00' and the last two digits were dropped. => Incorrect chunk address. Besides the fix, the commit also contains a schema change which will run the CleanGCIndex() function to clean the GC index from erroneous entries. Note: CleanGCIndex() rebuilds the index from scratch which can take a really-really long time with a huge DB (possibly an hour).
18 lines
665 B
Go
18 lines
665 B
Go
package storage
|
|
|
|
// The DB schema we want to use. The actual/current DB schema might differ
|
|
// until migrations are run.
|
|
const CurrentDbSchema = DbSchemaHalloween
|
|
|
|
// There was a time when we had no schema at all.
|
|
const DbSchemaNone = ""
|
|
|
|
// "purity" is the first formal schema of LevelDB we release together with Swarm 0.3.5
|
|
const DbSchemaPurity = "purity"
|
|
|
|
// "halloween" is here because we had a screw in the garbage collector index.
|
|
// Because of that we had to rebuild the GC index to get rid of erroneous
|
|
// entries and that takes a long time. This schema is used for bookkeeping,
|
|
// so rebuild index will run just once.
|
|
const DbSchemaHalloween = "halloween"
|