Decision Center user activities cause frequent Database locking. Business users complain about performance using the tool. From server logs I found several errors related to "solr" and the generation of folders in tmp directories (they are empty).
Answer by Miriam.Kaestner (8892) | Mar 20, 2017 at 09:18 AM
Errors related to solr are due to the fact that the index files of the BC search functionality seemed to be removed on your side. The solution is to configure your own location for the BC search index, outside the default temp directory of the operating system, and with write/read access. It avoids indexing to happen at every start of the application server.
Building solr index is costly; there is heavy read activity on DC database. The index itself is written as files. The JVM hosting BC may require an increase in maximum heap memory depending on the number of rule artifacts to be indexed per baseline.
To apply the change you will need to create a preferences.properties
file with the following properties:
SearchProvider=SolrEmbedded
SolrEmbeddedDataDir=<directory of your choice>
If you specify a relative path, it will be relative to the current user directory as specified in system property user.dir, and is typically the directory in which the Java virtual machine was invoked. Note that environment variables are not resolved in path. If necessary, DataDir will be created on first usage, and will then contain 2 subdirectories, "index" and "spellchecker".
Add preferences.properties file under com\ibm\rules\decisioncenter\web\search
to the
teamserver-iweb-search-<version>.jar
to be found in the
decisioncenter.war
of the Decision Center EAR under \WEB-INF\lib
.
You will actually find at that location a
preferences.example.properties
file that you can rename to
preferences.properties
and adjust the SolrEmbeddedDataDir
value in
it.
Redeploy decisioncenter application. In catalina.log, you will find a message which shows the new location of Solr index directory, for example:
WARNING: [dc] Solr index directory 'C:\.\DCSearchIndex\index' doesn't exist. Creating new index...
Note that there will be still a small solr_configxxxxxxx.dir
in /tmp
directory created at each server restart, no matter where your dataDir
sits.