Details
-
Bug
-
Status: Closed
-
Normal
-
Resolution: Fixed
-
None
-
None
-
None
-
Turing Sprint 153
Description
After indexing has finished, repository can fail to start up with
Caused by: java.lang.IllegalStateException: Required start revision '23415906' does NOT exist any more in the Journal table (oldest journal table record has revision '23415907') implying the index can be correctly updated. Remove the index and restart to trigger a complete new index built or provide a newer index export. at org.apache.jackrabbit.core.query.lucene.SearchIndex.undoAdded(SearchIndex.java:2635) at org.apache.jackrabbit.core.query.lucene.SearchIndex.checkPendingJournalChanges(SearchIndex.java:2626) at org.apache.jackrabbit.core.query.lucene.SearchIndex.doInit(SearchIndex.java:598) at org.hippoecm.repository.FacetedNavigationEngineImpl.doInit(FacetedNavigationEngineImpl.java:650)
Apparently, from
org.apache.jackrabbit.core.query.lucene.SearchIndex#getChangeLogRecords
we can get that the first returned change record is one higher than expected. This is most likely cause by
r.process(collector);
where the collector skips a record (r) that is not a workspace record (for example new nodetype registration)
1) Instead of checking the org.apache.jackrabbit.core.cluster.ClusterRecord#getRevision we'll check on the database record before possible skip has been done, thus on
records = journal.getRecords(fromRevision);
while (records.hasNext())
2) The old style JR indexing we log an error instead of throwing a runtime exception
Attachments
Issue Links
- clones
-
REPO-1652 New cluster node can fail to startup after indexing has been done
- Closed