|
Also updated repository.xml files in contrib projects.
I checked r386604 and it looks that doesn't work as expected.
Even if 'repository wide system index that contains /jcr:system tree' is not configured, following nodes are still indexed : versionLabels, versionStorage, versionHistory, version, frozenNode. Additionally index is duplicated over all workspaces, what lead to huge index size and performance/memory problems especially if we use many workspaces. What's interesting is that if I remove all index folders, and restart repository then all indexes are rebuilded without mentioned nodes, and indexes are much smaller then. Paths of events that origin from the version storage are wrong and thus are not filtered correctly anymore. This problem was probably introduced when fixing
Test cases should be extended to check paths of version events. Committed a preliminary fix.
Most of the changes are actually located in the event system and not the search index itself. It would have probably made more sense to reopen I strongly encourage everyone to re-index an existing repository that was used with a jackrabbit svn revision between 368026 and 388123 and that is now upgraded to a higher version! Indexing of versions was completely broken between those svn revision! I'm currently writing some additional test cases and will resolve this issue once I have commited the test cases. Fixed in revision: 388559
Also added some test cases that check observation and querying on version storage. Merged to 1.0 in revision 389544.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Separating the indexes now also allows to disable indexing of versions. One simply does not configure a system index on the repository level.
Important note: this causes a minor backward compatibility issue. Existing configurations do not have a system search index configured on the repository level and will not index versions anymore. That means, queries will return versions of nodes that have been checked in before this code change but no checkins after this change. Apart from that Jackrabbit will work just fine. If you need to search versions of nodes see below how.
Migration instructions:
- add a SearchIndex element at the end of the repository configuration. See jackrabbit/src/main/config/repository.xml for an example
- delete index folders in all your workspace directories
- restart jackrabbit (will re-index workspaces and jcr:system tree)
svn revision: 357961