Add flags to support new database, new sync (#3252)

This commit is contained in:
Preston Van Loon
2019-08-21 12:04:00 -04:00
committed by terence tsao
parent 0f123ae562
commit acb20e269c
65 changed files with 1006 additions and 776 deletions

View File

@@ -30,6 +30,8 @@ type FeatureFlagConfig struct {
EnableExcessDeposits bool // EnableExcessDeposits in validator balances.
NoGenesisDelay bool // NoGenesisDelay when processing a chain start genesis event.
UseNewP2P bool // UseNewP2P service.
UseNewSync bool // UseNewSync services.
UseNewDatabase bool // UseNewDatabase service.
// Cache toggles.
EnableActiveBalanceCache bool // EnableActiveBalanceCache; see https://github.com/prysmaticlabs/prysm/issues/3106.
@@ -72,10 +74,18 @@ func ConfigureBeaconFeatures(ctx *cli.Context) {
log.Warn("Using non standard genesis delay. This may cause problems in a multi-node environment.")
cfg.NoGenesisDelay = true
}
if ctx.GlobalBool(UseNewP2PFlag.Name) {
if ctx.GlobalBool(NextFlag.Name) || ctx.GlobalBool(UseNewP2PFlag.Name) {
log.Warn("Using new P2P service.")
cfg.UseNewP2P = true
}
if ctx.GlobalBool(NextFlag.Name) || ctx.GlobalBool(UseNewSyncFlag.Name) {
log.Warn("Using new sync services.")
cfg.UseNewSync = true
}
if ctx.GlobalBool(NextFlag.Name) || ctx.GlobalBool(UseNewDatabaseFlag.Name) {
log.Warn("Using new database service.")
cfg.UseNewDatabase = true
}
if ctx.GlobalBool(EnableActiveBalanceCacheFlag.Name) {
log.Warn("Enabled unsafe active balance cache")
cfg.EnableActiveBalanceCache = true

View File

@@ -36,6 +36,21 @@ var (
Name: "experimental-p2p",
Usage: "Use the new experimental p2p library. See issue #3147.",
}
// UseNewSyncFlag to start the beacon chain using the new sync library.
UseNewSyncFlag = cli.BoolFlag{
Name: "experimental-sync",
Usage: "Use the new experimental sync libraries. See issue #3147.",
}
// UseNewDatabaseFlag to start the beacon chain using new database library.
UseNewDatabaseFlag = cli.BoolFlag{
Name: "experimental-db",
Usage: "Use the new experimental database library.",
}
// NextFlag to enable all experimental features.
NextFlag = cli.BoolFlag{
Name: "next",
Usage: "Use next version experimental features.",
}
// EnableActiveBalanceCacheFlag see https://github.com/prysmaticlabs/prysm/issues/3106.
EnableActiveBalanceCacheFlag = cli.BoolFlag{
Name: "enable-active-balance-cache",
@@ -84,6 +99,9 @@ var BeaconChainFlags = []cli.Flag{
EnableExcessDepositsFlag,
NoGenesisDelayFlag,
UseNewP2PFlag,
UseNewSyncFlag,
UseNewDatabaseFlag,
NextFlag,
EnableActiveBalanceCacheFlag,
EnableAttestationCacheFlag,
EnableAncestorBlockCacheFlag,