Overview
The search function does not work when you try to search. Search will not return results for content, places, or groups. You may have already tried a search index rebuild, but it did not resolve your issue. You may have also found the following error message in the log files:
Caused by: com.jivesoftware.service.search.api.lucene.index.manager.indexmanagerapi.
IndexMangerServiceException: org.apache.lucene.store.LockObtainFailedException:
Lock obtain timed out: NativeFSLock@/usr/local/jive/services/search-service/var/data/
contentSearch/contentSwappingSearch/********-****-****-****-************/
dedupIndex-12345678912345/write.lock
Prerequisites
- This applies to Jive On-Premise installations of all versions.
Solution
Fixing a problem that affects the search index usually means that another content search index rebuild is necessary.
The main issue is that the On-Premise search has a "resume" feature (which is enabled by default) and will save the state of the search index rebuild in the binstore, to pick up where it left off in the event of a restart.
This feature can cause the Search to generate variable results if not accounted for during or after an upgrade.
The same scenario might also happen in other corner cases, in which the search rebuild keeps starting from a previously saved status.
This procedure is NOT necessary for every search index rebuild, but if the rebuild did not complete (for some reason), this would be the process to utilize. You can also query the tables below to get more information.
These steps are required after each dry run search index rebuilds to ensure a clean rebuild.
- Stop the Search service:
jive stop search
- Delete the search index:
-
rm -rf ~/services/search-service/var
OR
mv ~/services/search/var/* [BACKUP_LOCATION]
- Ensure the resume feature is disabled:
- Set the system property
search.resume.rebuildIndex
tofalse
(true is the default value).
Check that this variable is not already set before doing the INSERT.
INSERT INTO jiveproperty VALUES('search.resume.rebuildIndex','false');
- Delete these properties (if present):
search.rebuildIndex
(defaults to false),search.rebuild.progress.1
, andsearch.rebuild.progress.2
:
DELETE FROM jiveproperty WHERE name IN('search.rebuildIndex','search.rebuild.progress.1','search.rebuild.progress.2');
- Perform a full application restart:
- Run
jive restart
on the webapp node. - Start the Search service:
- Run
jive restart
on the search node. - Initiate the rebuild by clicking the "Rebuild Index" button in the admin console.
- Note: clicking that button will set
search.rebuildIndex = true
.
Comments
0 comments
Please sign in to leave a comment.