You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"Warning: Reverting this setting requires re-downloading the entire blockchain. "
425
425
"(default: 0 = disable pruning blocks, 1 = allow manual pruning via RPC, >=%u = automatically prune block files to stay under the specified target size in MiB)", MIN_DISK_SPACE_FOR_BLOCK_FILES / 1024 / 1024), ArgsManager::ALLOW_ANY, OptionsCategory::OPTIONS);
426
426
argsman.AddArg("-reindex", "Rebuild chain state and block index from the blk*.dat files on disk. This will also rebuild active optional indexes.", ArgsManager::ALLOW_ANY, OptionsCategory::OPTIONS);
427
-
argsman.AddArg("-reindex-chainstate", "Rebuild chain state from the currently indexed blocks. When in pruning mode or if blocks on disk might be corrupted, use full -reindex instead.", ArgsManager::ALLOW_ANY, OptionsCategory::OPTIONS);
427
+
argsman.AddArg("-reindex-chainstate", "Rebuild chain state from the currently indexed blocks. When in pruning mode or if blocks on disk might be corrupted, use full -reindex instead. Deactivate all optional indexes before running this.", ArgsManager::ALLOW_ANY, OptionsCategory::OPTIONS);
428
428
argsman.AddArg("-settings=<file>", strprintf("Specify path to dynamic settings data file. Can be disabled with -nosettings. File is written at runtime and not meant to be edited by users (use %s instead for custom settings). Relative paths will be prefixed by datadir location. (default: %s)", BITCOIN_CONF_FILENAME, BITCOIN_SETTINGS_FILENAME), ArgsManager::ALLOW_ANY, OptionsCategory::OPTIONS);
429
429
#if HAVE_SYSTEM
430
430
argsman.AddArg("-startupnotify=<cmd>", "Execute command on startup.", ArgsManager::ALLOW_ANY, OptionsCategory::OPTIONS);
returnInitError(_("No proxy server specified. Use -proxy=<ip> or -proxy=<ip:port>."));
1032
1032
}
1033
1033
1034
+
if (args.GetBoolArg("-reindex-chainstate", false)) {
1035
+
// indexes that must be deactivated to prevent index corruption, see #24630
1036
+
if (args.GetBoolArg("-coinstatsindex", DEFAULT_COINSTATSINDEX)) {
1037
+
returnInitError(_("-reindex-chainstate option is not compatible with -coinstatsindex. Please temporarily disable coinstatsindex while using -reindex-chainstate, or replace -reindex-chainstate with -reindex to fully rebuild all indexes."));
1038
+
}
1039
+
if (g_enabled_filter_types.count(BlockFilterType::BASIC)) {
1040
+
returnInitError(_("-reindex-chainstate option is not compatible with -blockfilterindex. Please temporarily disable blockfilterindex while using -reindex-chainstate, or replace -reindex-chainstate with -reindex to fully rebuild all indexes."));
1041
+
}
1042
+
if (args.GetBoolArg("-txindex", DEFAULT_TXINDEX)) {
1043
+
returnInitError(_("-reindex-chainstate option is not compatible with -txindex. Please temporarily disable txindex while using -reindex-chainstate, or replace -reindex-chainstate with -reindex to fully rebuild all indexes."));
1044
+
}
1045
+
}
1046
+
1034
1047
#if defined(USE_SYSCALL_SANDBOX)
1035
1048
if (args.IsArgSet("-sandbox") && !args.IsArgNegated("-sandbox")) {
self.log.info("Test that -reindex-chainstate is disallowed with coinstatsindex")
233
+
234
+
self.nodes[1].assert_start_raises_init_error(
235
+
expected_msg='Error: -reindex-chainstate option is not compatible with -coinstatsindex. '
236
+
'Please temporarily disable coinstatsindex while using -reindex-chainstate, or replace -reindex-chainstate with -reindex to fully rebuild all indexes.',
self.log.info("Test -blockfilterindex with -reindex-chainstate raises an error")
254
+
self.nodes[0].assert_start_raises_init_error(
255
+
expected_msg='Error: -reindex-chainstate option is not compatible with -blockfilterindex. '
256
+
'Please temporarily disable blockfilterindex while using -reindex-chainstate, or replace -reindex-chainstate with -reindex to fully rebuild all indexes.',
0 commit comments