Stop the currently running snow-owl instance
Backup the <SO_DATADIR>/indexes directory for recovery in case of failure
Change / add the following configuration values in snowowl_config.yml file ( example available here ):
Set commitInterval from default 15 seconds to 15 minutes (value 900000)
Set translogSyncInterval from default 5 seconds to 5 minutes (value 300000)
Set revisionCache to false
Change memory settings to fixed 12g in the <SO_HOME>/bin/dmk.sh file with JVM configuration -Xms12g -Xmx12g
Connect to the OSGi console via telnet localhost 2501
Start the migration process with the command snowowl reindex <repositoryId>. For SNOMED CT, the repository identifier is snomedStore.
1) If the re-index process fails, it prints out relevant messages in the console and the logs. The printed message contains information about the failed commit, with its commit timestamp. You can (re)start the index process from the failed commit timestamp (expressed as a unix epoch time), if you specify the commit time at the end of the re-index command, snowowl reindex snomedStore <failedCommitTimestamp>.
|It is recommended to stop and restart the server before continuing a failed migration process.|
2) If snowowl attempts to start with a mismatch between the commits in the CDO Database and those persisted in the index then it will report an error in it's log output and stop execution. The error will look something like this:
[2017-03-29 14:46:24.798] ERROR fs-watcher
Index must be re-initialized for repository: SNOMED CT Store. (The database is ahead of the index's timestamp: 1487062899501 with CDO commit timestamp(s): )
In order to proceed you must restart snowowl with the following javaopts flag set
and then use the OSGI console to re-index starting from the first missing commit.
e.g. snowowl reindex snomedStore 1487062899501