diff --git a/documentation/en/default-lotus-config.toml b/documentation/en/default-lotus-config.toml index ff4be96c8af..d33abd3c251 100644 --- a/documentation/en/default-lotus-config.toml +++ b/documentation/en/default-lotus-config.toml @@ -15,6 +15,9 @@ [Backup] + # When set to true disables metadata log (.lotus/kvlog). This can save disk + # space by reducing metadata redundancy. + # # Note that in case of metadata corruption it might be much harder to recover # your node if metadata log is disabled # diff --git a/documentation/en/default-lotus-miner-config.toml b/documentation/en/default-lotus-miner-config.toml index a88782d2b97..984ec08fb7e 100644 --- a/documentation/en/default-lotus-miner-config.toml +++ b/documentation/en/default-lotus-miner-config.toml @@ -15,6 +15,9 @@ [Backup] + # When set to true disables metadata log (.lotus/kvlog). This can save disk + # space by reducing metadata redundancy. + # # Note that in case of metadata corruption it might be much harder to recover # your node if metadata log is disabled # @@ -309,21 +312,33 @@ [Proving] + # Maximum number of sector checks to run in parallel. (0 = unlimited) + # # WARNING: Setting this value too high may make the node crash by running out of stack # WARNING: Setting this value too low may make sector challenge reading much slower, resulting in failed PoSt due # to late submission. + # + # After changing this option, confirm that the new value works in your setup by invoking + # 'lotus-miner proving compute window-post 0' # # type: int # env var: LOTUS_PROVING_PARALLELCHECKLIMIT #ParallelCheckLimit = 128 + # Disable Window PoSt computation on the lotus-miner process even if no window PoSt workers are present. + # # WARNING: If no windowPoSt workers are connected, window PoSt WILL FAIL resulting in faulty sectors which will need # to be recovered. Before enabling this option, make sure your PoSt workers work correctly. + # + # After changing this option, confirm that the new value works in your setup by invoking + # 'lotus-miner proving compute window-post 0' # # type: bool # env var: LOTUS_PROVING_DISABLEBUILTINWINDOWPOST #DisableBuiltinWindowPoSt = false + # Disable Winning PoSt computation on the lotus-miner process even if no winning PoSt workers are present. + # # WARNING: If no WinningPoSt workers are connected, Winning PoSt WILL FAIL resulting in lost block rewards. # Before enabling this option, make sure your PoSt workers work correctly. # @@ -331,6 +346,35 @@ # env var: LOTUS_PROVING_DISABLEBUILTINWINNINGPOST #DisableBuiltinWinningPoSt = false + # Disable WindowPoSt provable sector readability checks. + # + # In normal operation, when preparing to compute WindowPoSt, lotus-miner will perform a round of reading challenges + # from all sectors to confirm that those sectors can be proven. Challenges read in this process are discarded, as + # we're only interested in checkdng that sector data can be read. + # + # When using builtin proof computation (no PoSt workers, and DisableBuiltinWindowPoSt is set to false), this process + # can save a lot of time and compute resources in the case that some sectors are not readable - this is caused by + # the builtin logic not skipping snark computation when some sectors need to be skipped. + # + # When using PoSt workers, this process is mostly redundant, with PoSt workers challenges will be read once, and + # if challenges for some sectors aren't readable, those sectors will just get skipped. + # + # Disabling sector pre-checks will slightly requice IO load when proving sectors, possibly resulting in shorter + # time to produce window PoSt. In setups with good IO capabilities the effect of this option on proving time should + # be negligible. + # + # NOTE: It likely is a bad idea to disable sector pre-checks in setups with no PoSt workers. + # + # NOTE: Even when this option is enabled, recovering sectors will be checked before recovery declaration message is + # sent to the chain + # + # After changing this option, confirm that the new value works in your setup by invoking + # 'lotus-miner proving compute window-post 0' + # + # type: bool + # env var: LOTUS_PROVING_DISABLEWDPOSTPRECHECKS + #DisableWDPoStPreChecks = false + [Sealing] # Upper bound on how many sectors can be waiting for more deals to be packed in it before it begins sealing at any given time. diff --git a/node/config/cfgdocgen/gen.go b/node/config/cfgdocgen/gen.go index 8d0efb65e6b..5133501523c 100644 --- a/node/config/cfgdocgen/gen.go +++ b/node/config/cfgdocgen/gen.go @@ -53,7 +53,7 @@ func run() error { continue } case stType: - if strings.HasPrefix(line, "// ") { + if strings.HasPrefix(line, "//") { cline := strings.TrimSpace(strings.TrimPrefix(line, "//")) currentComment = append(currentComment, cline) continue diff --git a/node/config/doc_gen.go b/node/config/doc_gen.go index bea7c197320..4761ff75347 100644 --- a/node/config/doc_gen.go +++ b/node/config/doc_gen.go @@ -34,7 +34,10 @@ var Doc = map[string][]DocField{ Name: "DisableMetadataLog", Type: "bool", - Comment: `Note that in case of metadata corruption it might be much harder to recover + Comment: `When set to true disables metadata log (.lotus/kvlog). This can save disk +space by reducing metadata redundancy. + +Note that in case of metadata corruption it might be much harder to recover your node if metadata log is disabled`, }, }, @@ -627,28 +630,63 @@ over the worker address if this flag is set.`, Name: "ParallelCheckLimit", Type: "int", - Comment: `After changing this option, confirm that the new value works in your setup by invoking + Comment: `Maximum number of sector checks to run in parallel. (0 = unlimited) + +WARNING: Setting this value too high may make the node crash by running out of stack +WARNING: Setting this value too low may make sector challenge reading much slower, resulting in failed PoSt due +to late submission. + +After changing this option, confirm that the new value works in your setup by invoking 'lotus-miner proving compute window-post 0'`, }, { Name: "DisableBuiltinWindowPoSt", Type: "bool", - Comment: `After changing this option, confirm that the new value works in your setup by invoking + Comment: `Disable Window PoSt computation on the lotus-miner process even if no window PoSt workers are present. + +WARNING: If no windowPoSt workers are connected, window PoSt WILL FAIL resulting in faulty sectors which will need +to be recovered. Before enabling this option, make sure your PoSt workers work correctly. + +After changing this option, confirm that the new value works in your setup by invoking 'lotus-miner proving compute window-post 0'`, }, { Name: "DisableBuiltinWinningPoSt", Type: "bool", - Comment: `WARNING: If no WinningPoSt workers are connected, Winning PoSt WILL FAIL resulting in lost block rewards. + Comment: `Disable Winning PoSt computation on the lotus-miner process even if no winning PoSt workers are present. + +WARNING: If no WinningPoSt workers are connected, Winning PoSt WILL FAIL resulting in lost block rewards. Before enabling this option, make sure your PoSt workers work correctly.`, }, { Name: "DisableWDPoStPreChecks", Type: "bool", - Comment: `After changing this option, confirm that the new value works in your setup by invoking + Comment: `Disable WindowPoSt provable sector readability checks. + +In normal operation, when preparing to compute WindowPoSt, lotus-miner will perform a round of reading challenges +from all sectors to confirm that those sectors can be proven. Challenges read in this process are discarded, as +we're only interested in checkdng that sector data can be read. + +When using builtin proof computation (no PoSt workers, and DisableBuiltinWindowPoSt is set to false), this process +can save a lot of time and compute resources in the case that some sectors are not readable - this is caused by +the builtin logic not skipping snark computation when some sectors need to be skipped. + +When using PoSt workers, this process is mostly redundant, with PoSt workers challenges will be read once, and +if challenges for some sectors aren't readable, those sectors will just get skipped. + +Disabling sector pre-checks will slightly requice IO load when proving sectors, possibly resulting in shorter +time to produce window PoSt. In setups with good IO capabilities the effect of this option on proving time should +be negligible. + +NOTE: It likely is a bad idea to disable sector pre-checks in setups with no PoSt workers. + +NOTE: Even when this option is enabled, recovering sectors will be checked before recovery declaration message is +sent to the chain + +After changing this option, confirm that the new value works in your setup by invoking 'lotus-miner proving compute window-post 0'`, }, },