Introduced in Feature Pack 3

indexprop utility

The indexprop utility propagates the WebSphere Commerce search index. It is used by IT administrators to issue an HTTP request to the search index repeater to start replicating with the staging search index. This replication ensures that your catalog changes are populated into the WebSphere Commerce search index in production.

The search index repeater is used as both a master and a subordinate for search replication.

It is used as a subordinate when replicating with the staging search index, where the staging search index is the master and the repeater is the subordinate acting as a backup of the search index for production. Once the first replication is completed from staging, the repeater communicates the changes to its subordinate nodes that are in production.

The repeater then becomes the master, where all nodes from the search index cluster are configured to poll changes from the repeater on a regular pre-configured fixed-time interval. This time interval is defined in the solrconfig.xml file under replication.

Replicating between the repeater and all search index clusters in production can be automated, as the indexed data in the repeater always matches the indexed data in production. The search index repeater must be a subordinate to the staging search server and master to the production search server.

Important: The repeater must reside in Production, as it relies on the production database to perform emergency updates.
The indexprop utility is used to propagate the WebSphere Commerce search index:
  • Feature Pack 4Feature Pack 5Feature Pack 3The indexprop utility is used by IT administrators to issue an HTTP request to the search index repeater to start replicating with the staging search index. These versions of the utility refer to the solr.xml configuration file to determine which search cores will be replicated. The solr.xml file is located in the Solr server's solrHome directory.
  • Feature Pack 6 or laterThe indexprop utility is used by IT administrators to initiate the search index replication from the staging server to the repeater, and perform cache invalidation for WebSphere Commerce search in production. Configuration information is found in the replication.csv file.

Feature Pack 6 or laterIf you are using the utility to replicate the search index, you must update the replication configuration file (solrHome\replication.csv) on the staging server to match your WebSphere Commerce search environment.

For more information about the index propagation lifecycle, see Indexing with staging propagation.

For more information about using the indexprop utility, see Propagating the WebSphere Commerce search index with the repeater.

Feature Pack 8
Syntax diagram for indexprop utility (Q2)

Parameter values

Introduced in Feature Pack 3When you are running the utility:
searchServerName
The search repeater server host name.
searchServerPort
The search repeater server port.
SolarisLinuxAIXWindowsThe default value is 3737.
solrHome
The location of the Solr home directory path that contains the search index data. The value must be an absolute path. The default value is: WC_installdir/instances/instance_name/search/solr/home
Feature Pack 6 or laterFrom Feature Pack 6 forward, the command no longer requires that you include the searchServerName and searchServerPort parameters.
solrHome
The location of the directory that contains the replication configuration file (replication.csv).
masterCatalogId
The ID of the master catalog (for example, 10101).
instance
The name of the WebSphere Commerce instance with which you are working (for example, demo).
dbuser

DB2The name of the user that is connecting to the database.

OracleThe user ID connecting to the database.

dbuserpwd
The password for the user that is connecting to the database.
Feature Pack 8Alternatively, you can use the passwordFile parameter to specify the encrypted password from a file.
connectTimeout
The time, in milliseconds, before the connection times out fetching the search index from the master server. The default value is 10000.
sleepTimeout
The time, in milliseconds, before the connection times out waiting for the replication status. The default value is 10000.
dbUrl
The URL used to connect to the database.
Note: This parameter is only needed for Oracle Real Application Clusters (RAC).
dbtype
The production database type to connect to.
This parameter is needed for IBM i for performing cache invalidation on the production server.
The accepted values are DB2/OS400 or DB2/OS400ToolBox.
destdb
The production database name to connect to.
This parameter is needed for performing cache invalidation on the production server.
If the database type is DB2/OS400, specify the database name of the production server. For example, db_name.
If the database type is DB2/OS400ToolBox, specify the database host of the production server. For example, db_host.
If the database type is DB2 or Oracle, specify the database host, database server port, and database name of the production server. For example, db_host:db_port/db_name.
destdb_user
The production database user name to connect with.
This parameter is needed for performing cache invalidation on the production server.
destdb_passwd
The production database password to connect with.
This parameter is needed for performing cache invalidation on the production server.
Feature Pack 8Alternatively, you can use the passwordFile parameter to specify the encrypted password from a file.
destdb_schema
The production database schema to connect to.
This parameter is optional for performing cache invalidation on the production server.
Oracledestdb_url
OracleThe production database URL to connect to.
OracleThis parameter is optional for performing cache invalidation on the production server.
Note: This parameter is only needed for Oracle Real Application Clusters (RAC).
restartTime
The restart time to begin invalidating the cache on the production server. That is, the time stamp when the last stagingprop command starts running.
This parameter is needed for performing cache invalidation on the production server.
Accepted values are long values that return milliseconds in the following format: MM/dd/yyyy_HH:mm:ss.
Feature Pack 8passwordFile
Feature Pack 8Optional: The full path to the password.properties file that contains the password for the user who is connecting to the database, and the production database password to connect with. For example, C:\password.properties.
Feature Pack 8The password.properties file contains the following content:

dbUserPassword=encrypted_pwd
prod.dbUserPassword=encrypted_pwd
Where encrypted_pwd is the password that encrypted by the wcs_encrypt utility.
Feature Pack 8disableReplicationOnRepeaterUntilIndexPropSuccessful
Feature Pack 8Indicates whether to disable replication on the repeater so that subordinate servers cannot pull until index propagation is successful. Replication is then enabled upon completing successfully.
Feature Pack 8The default value is false.
Feature Pack 8queryCheckPropFile
Feature Pack 8The fully qualified path to a test query properties file used to validate the search index before propagating. Replication is aborted if any of the test queries fail.
Feature Pack 8For more information, see Query check properties file.

Example

From the following directory:
  • SolarisLinuxAIXWindowsWC_installdir/bin
  • WebSphere Commerce DeveloperWCDE_installdir\bin
Run the following command to run the utility:
  • Windows indexprop.bat -masterCatalogId masterCatalogId -instance instance_name --dbuser dbuser -dbuserpwd dbuserpwd -solrHome solrHome
  • SolarisLinuxAIX./indexprop.sh -masterCatalogId masterCatalogId -instance instance_name --dbuser dbuser -dbuserpwd dbuserpwd -solrHome solrHome
  • WebSphere Commerce Developerindexprop.bat -masterCatalogId masterCatalogId -solrHome solrHome
Run the following command to run the utility and perform cache invalidation on the production server:
  • Windows indexprop.bat -solrHome solrHome -masterCatalogId masterCatalogId -instance instance_name -dbuser dbuser -dbuserpwd dbuserpwd [-destdb destdb] [-destdb_user destdb_user] [-destdb_passwd destdb_passwd] [-restartTime restartTime] [-dbtype dbtype] [-destdb_schema destdb_schema] [-destdb_url destdb_url] Feature Pack 8[-passwordFile passwordFile] Feature Pack 8[-disableReplicationOnRepeaterUntilIndexPropSuccessful true|false] [-queryCheckPropFile queryCheckPropFile]
  • SolarisLinuxAIX./indexprop.sh -solrHome solrHome -masterCatalogId masterCatalogId -instance instance_name -dbuser dbuser -dbuserpwd dbuserpwd [-destdb destdb] [-destdb_user destdb_user] [-destdb_passwd destdb_passwd] [-restartTime restartTime] [-dbtype dbtype] [-destdb_schema destdb_schema] [-destdb_url destdb_url] Feature Pack 8[-passwordFile passwordFile] Feature Pack 8[-disableReplicationOnRepeaterUntilIndexPropSuccessful true|false] [-queryCheckPropFile queryCheckPropFile]

Ensure that the utility runs successfully.

Inspect the following log file for errors:
  • SolarisLinuxAIXWindowsWC_installdir\logs\wc-indexprop.log
To get more logging information, update the logging level from INFO to FINEST in the WC_installdir/instances/instance_name/xml/config/dataimport/indexprop-logging.properties file:

# Default global logging level, INFO
.level=FINEST
Feature Pack 7 or later

# Default global logging level, INFO
com.ibm.commerce.level=FINEST