From fdb399f0ed20fc1b8f1e2b5ba3f172b140476301 Mon Sep 17 00:00:00 2001 From: Jasmina Malicevic Date: Thu, 23 Jun 2022 16:24:51 +0200 Subject: [PATCH] e2e adapted to mempool v1; prio pool is default now --- config/config.go | 2 +- test/e2e/generator/generate.go | 2 ++ test/e2e/pkg/manifest.go | 3 ++- test/e2e/pkg/testnet.go | 7 +++++++ test/e2e/runner/setup.go | 3 +++ 5 files changed, 15 insertions(+), 2 deletions(-) diff --git a/config/config.go b/config/config.go index c5dfbb7f3..6eda183c9 100644 --- a/config/config.go +++ b/config/config.go @@ -725,7 +725,7 @@ type MempoolConfig struct { // DefaultMempoolConfig returns a default configuration for the Tendermint mempool func DefaultMempoolConfig() *MempoolConfig { return &MempoolConfig{ - Version: MempoolV0, + Version: MempoolV1, Recheck: true, Broadcast: true, WalPath: "", diff --git a/test/e2e/generator/generate.go b/test/e2e/generator/generate.go index c7e1bad0c..2a1d59cde 100644 --- a/test/e2e/generator/generate.go +++ b/test/e2e/generator/generate.go @@ -32,6 +32,7 @@ var ( // FIXME: v2 disabled due to flake nodeFastSyncs = uniformChoice{"v0"} // "v2" nodeStateSyncs = uniformChoice{false, true} + nodeMempools = uniformChoice{"v0", "v1"} nodePersistIntervals = uniformChoice{0, 1, 5} nodeSnapshotIntervals = uniformChoice{0, 3} nodeRetainBlocks = uniformChoice{0, 1, 5} @@ -210,6 +211,7 @@ func generateNode( Database: nodeDatabases.Choose(r).(string), PrivvalProtocol: nodePrivvalProtocols.Choose(r).(string), FastSync: nodeFastSyncs.Choose(r).(string), + Mempool: nodeMempools.Choose(r).(string), StateSync: nodeStateSyncs.Choose(r).(bool) && startAt > 0, PersistInterval: ptrUint64(uint64(nodePersistIntervals.Choose(r).(int))), SnapshotInterval: uint64(nodeSnapshotIntervals.Choose(r).(int)), diff --git a/test/e2e/pkg/manifest.go b/test/e2e/pkg/manifest.go index 563dca7d1..a61206632 100644 --- a/test/e2e/pkg/manifest.go +++ b/test/e2e/pkg/manifest.go @@ -91,7 +91,8 @@ type ManifestNode struct { // FastSync specifies the fast sync mode: "" (disable), "v0", "v1", or "v2". // Defaults to disabled. FastSync string `toml:"fast_sync"` - + // Mempool specifies which version of mempool to use. Either "v0" or "v1" + Mempool string `toml:"mempool_version"` // StateSync enables state sync. The runner automatically configures trusted // block hashes and RPC servers. At least one node in the network must have // SnapshotInterval set to non-zero, and the state syncing node must have diff --git a/test/e2e/pkg/testnet.go b/test/e2e/pkg/testnet.go index 99a661a5f..ff9453806 100644 --- a/test/e2e/pkg/testnet.go +++ b/test/e2e/pkg/testnet.go @@ -75,6 +75,7 @@ type Node struct { StartAt int64 FastSync string StateSync bool + Mempool string Database string ABCIProtocol Protocol PrivvalProtocol Protocol @@ -157,6 +158,7 @@ func LoadTestnet(file string) (*Testnet, error) { PrivvalProtocol: ProtocolFile, StartAt: nodeManifest.StartAt, FastSync: nodeManifest.FastSync, + Mempool: nodeManifest.Mempool, StateSync: nodeManifest.StateSync, PersistInterval: 1, SnapshotInterval: nodeManifest.SnapshotInterval, @@ -309,6 +311,11 @@ func (n Node) Validate(testnet Testnet) error { case "", "v0", "v1", "v2": default: return fmt.Errorf("invalid fast sync setting %q", n.FastSync) + switch n.Mempool { + case "", "v0", "v1": + default: + return fmt.Errorf("invalid mempool version %q", n.Mempool) + } } switch n.Database { case "goleveldb", "cleveldb", "boltdb", "rocksdb", "badgerdb": diff --git a/test/e2e/runner/setup.go b/test/e2e/runner/setup.go index e1c82d589..ba9539be2 100644 --- a/test/e2e/runner/setup.go +++ b/test/e2e/runner/setup.go @@ -283,6 +283,9 @@ func MakeConfig(node *e2e.Node) (*config.Config, error) { default: return nil, fmt.Errorf("unexpected mode %q", node.Mode) } + if node.Mempool != "" { + cfg.Mempool.Version = node.Mempool + } if node.FastSync == "" { cfg.FastSyncMode = false