]> source.dussan.org Git - gitblit.git/commit
Introduce an index version for the ticket index
authorFlorian Zschocke <florian.zschocke@devolo.de>
Sun, 5 Mar 2017 15:45:44 +0000 (16:45 +0100)
committerFlorian Zschocke <florian.zschocke@devolo.de>
Sun, 5 Mar 2017 19:27:31 +0000 (20:27 +0100)
commit71a27ddc781e0c2a684f747c794f8948c65cbf5c
treee5f45ec86b5256708a3ce459cf93856a3e246a22
parentbf1b35aac29b6c0d5e918f00d99a0632e4925b51
Introduce an index version for the ticket index

In order to be able to update the index definition, the ticket index
is assigned a version number, 2. This way the definiton can be updated
and compatability with existing index files can be checked.
The actual index is stored in a directory of name `indexVersion_codecVersion`.
This wayit is veriy easy to check if an index of a certain version exists on the
filesystem. It allows to have multiple indexes of different versions present,
so that a downgrade of the software is possible without having to reindex
again. Of coure, this is only possible if no new tickets were created since these
would be missing in the old index.

A new class `LuceneIndexStore` is introduced, which abstracts away the versioned
index directory. The idea is, that this provides one place to keep the Lucene
codec version and to allow to code compatibility rules into this class, so that
older indices can still be used if they are compatible.
src/main/java/com/gitblit/tickets/TicketIndexer.java
src/main/java/com/gitblit/utils/LuceneIndexStore.java [new file with mode: 0644]
src/test/java/com/gitblit/utils/LuceneIndexStoreTest.java [new file with mode: 0644]