This article outlines a scenario where the KVStore fails to start after upgrading Splunk Enterprise to version 9.4.x.
The issue often occurs when custom certificates are used instead of default certificates, KVStore may remain stuck on an unsupported version (e.g., 4.2), while Splunk Enterprise 9.4.x requires KVStore version 7.0 or higher.
Follow the below troubleshooting steps:
./splunk show kvstore-status --verbose
[KVStoreUpgradeStartupThread] - An error occurred during the last operation ('replSetGetStatus', domain: '15', code: '13053'): No suitable servers found (`serverSelectionTryOnce` set): [connection closed calling hello on '127.0.0.1:8191']
2025-02-27T10:31:55.111Z E STORAGE [initandlisten] WiredTiger error (-31802) [1740652315:111379][47501:0x7f8dbaa4ab40], connection: __log_open_verify, 925: unsupported WiredTiger file version: this build only supports versions up to 4, and the file is version 5: WT_ERROR: non-specific WiredTiger error Raw: [1740652315:111379][47501:0x7f8dbaa4ab40], connection: __log_open_verify, 925: unsupported WiredTiger file version: this build only supports versions up to 4, and the file is version 5: WT_ERROR: non-specific WiredTiger error 2025-02-27T10:31:55.115Z W STORAGE [initandlisten] Failed to start up WiredTiger under any compatibility version.
2025-02-27T10:31:55.115Z F STORAGE [initandlisten] Reason: -31802: WT_ERROR: non-specific WiredTiger error
2025-02-27T10:31:55.115Z F - [initandlisten] Fatal Assertion 28595 at src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp 928
2025-02-27T10:31:55.115Z F - [initandlisten] \n\n***aborting after fassert()
A. Minimum 50% of disk space on partition were kvstore is present.
B. Use of Splunk default certs, custom certificates cannot be used while migrating to mongo 7.0
C. ipv6 cannot be used while migration to mongo 7.0.
D. The hardware should have AVX flag enabled.
A. Created a backup of the mongo directory:
cp -r /opt/splunk/var/lib/splunk/kvstore/mongo /home/
B. Stop Splunk on the server
C. Performed a KVStore cleanup:
/opt/splunk/bin/splunk clean kvstore --localD. Start Splunk on the server
WARNING: running clean kvstore --local will erase the whole kvstore database. Do this ONLY if you cannot recover the database due to corruption or a stale CLUSTERED KV store member!!
[sslConfig]
serverCert = $SPLUNK_HOME/etc/auth/server.pem
sslRootCAPath = $SPLUNK_HOME/etc/auth/cacert.pem
sslPassword = password
UPDATE: An older release of the Splunk Cloud Credentials Package contained incorrect certificate settings for [sslConfig] in server.conf. These resulted in the certificates being used globally causing the KVstore to incorrectly use them. The KVstore will not work with these certificates. The latest Splunk Cloud Credentials Package has been updated to remove these server.conf entries and move them to the correct location in outputs.conf which are needed for securing the splunktcp communications between the OnPrem HF to Cloud. This allows the KVstore to use either the default Splunk certificates or your own custom certificates. The details below should no longer be needed but are being left for reference purposes.
The resolution involves using certificates from forwarder credential package, reconfiguring SSL settings, and upgrading the KVStore to version 7.0 if it remains stuck on an older version. Follow these steps:
Step 1: Configuring certificates from forwarder credentrial package
100_cloudstack_splunkcloud/local/output.conf and copy the sslPassword../splunk show-decrypted --value '<encrypted_value>'
[sslConfig]
serverCert = $SPLUNK_HOME/etc/apps/100_cloudstack_splunkcloud/default/cloudstack_server.pem
sslRootCAPath = $SPLUNK_HOME/etc/apps/100_cloudstack_splunkcloud/default/cloudstack_cacert.pem
sslPassword = <decrypted_password_from_step_3>
./splunk show kvstore-status
Expected result: KVStore status shows "Ready."Step 2: Address KVStore Version Below 7.0
If the KVStore remains in a "Failed" state after the above steps due to being stuck on a version lower than 7.0, proceed as follows:
cat /opt/splunk/var/log/splunk/mongod.log | grep -i "version"
cd /opt/splunk/var/lib/splunk/kvstore/
rm -rf mongo_backup
cp -r /opt/splunk/var/lib/splunk/kvstore/mongo /home/
/opt/splunk/bin/splunk clean kvstore --local
WARNING: running clean kvstore --local will erase the whole kvstore database. Do this ONLY if you cannot recover the database due to corruption or a stale CLUSTERED KV store member!!./splunk show kvstore-status --verbose
Expected result: KVStore status shows "Ready."/opt/splunk/bin/splunk start-standalone-upgrade kvstore -version 7.0
9. Once completed, verify the status again:
./splunk show kvstore-status --verbose
Upgrade the KV store server version
KV store troubleshooting tools
| Revision | Publish Date | Comments |
|---|---|---|
1.0 |
30-Sep-2026
|
Initial Release |