http://bugzilla.lysator.liu.se/show_bug.cgi?id=1616
------- Additional Comments From ceder@lysator.liu.se 2006-10-07 21:49 ------- lyskomd should be able to convert legacy databases to the new format on-the-fly. Generation 0 is reserved for this. A server that is started with an old-style database will set the generation to 0 in all text-stats as they are read. It will write a new database file with the new-style text-stats.
Generation 0 means that a text is stored in the file "lyskomd-texts", at the position specified by "position". No metadata is stored in the file.
During startup, the server will count how many texts there are. It will assign them to new generations, using the configuration that specifies when new generation files should be created. Say that there are 10000 old texts. The server might assign 1000 texts per generation, which means that the old texts will be assigned to generations 1, 2, 3... 10. The server would have generation 11 as the current generation (where new texts will be created).
In the background, the old texts will be written to new-style generation files. Once all the generations are created (10 different generation files in the example) and the text-stats have been committed to disk, the lyskomd-texts file can be removed.
lyskomd should periodically write an index file, which mentions all the generation files that are in use. dbck should be taught to check if there are any stray generation files left.
Generation files could be named using the printf-style expression
"lyskomd-texts-%d-%d", generation, reclamation
------- You are receiving this mail because: ------- You are the QA contact for the bug, or are watching the QA contact.
lyskomd-qa@lists.lysator.liu.se