From c9cf7ec1dde5d2181fb2ada089cf183d59af02c8 Mon Sep 17 00:00:00 2001 From: Gyu-Ho Lee Date: Thu, 23 Feb 2017 09:33:26 -0800 Subject: [PATCH] dbtester: set default quota size bytes, ports --- config_dbtester.go | 63 +++++++++++++++++++++++++++++++-- config_dbtester_test.go | 3 +- dbtesterpb/flag_zookeeper.proto | 24 +++++++++++-- 3 files changed, 84 insertions(+), 6 deletions(-) diff --git a/config_dbtester.go b/config_dbtester.go index 4ca6c16c..25024891 100644 --- a/config_dbtester.go +++ b/config_dbtester.go @@ -130,35 +130,72 @@ func ReadConfig(fpath string, analyze bool) (*Config, error) { } } - var ( + const ( + defaultEtcdClientPort int64 = 2379 + defaultZookeeperClientPort int64 = 2181 + defaultConsulClientPort int64 = 8500 + defaultEtcdSnapshotCount int64 = 100000 + defaultEtcdQuotaSizeBytes int64 = 8000000000 defaultZookeeperSnapCount int64 = 100000 defaultZookeeperTickTime int64 = 2000 defaultZookeeperInitLimit int64 = 5 defaultZookeeperSyncLimit int64 = 5 defaultZookeeperMaxClientConnections int64 = 5000 ) + + if v, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__v2_3.String()]; ok { + if v.DatabasePortToConnect == 0 { + v.DatabasePortToConnect = defaultEtcdClientPort + } + if v.Flag_Etcd_V2_3.SnapshotCount == 0 { + v.Flag_Etcd_V2_3.SnapshotCount = defaultEtcdSnapshotCount + } + cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__v2_3.String()] = v + } if v, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__v3_1.String()]; ok { + if v.DatabasePortToConnect == 0 { + v.DatabasePortToConnect = defaultEtcdClientPort + } if v.Flag_Etcd_V3_1.SnapshotCount == 0 { v.Flag_Etcd_V3_1.SnapshotCount = defaultEtcdSnapshotCount } + if v.Flag_Etcd_V3_1.QuotaSizeBytes == 0 { + v.Flag_Etcd_V3_1.QuotaSizeBytes = defaultEtcdQuotaSizeBytes + } cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__v3_1.String()] = v } if v, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__v3_2.String()]; ok { + if v.DatabasePortToConnect == 0 { + v.DatabasePortToConnect = defaultEtcdClientPort + } if v.Flag_Etcd_V3_2.SnapshotCount == 0 { v.Flag_Etcd_V3_2.SnapshotCount = defaultEtcdSnapshotCount } + if v.Flag_Etcd_V3_2.QuotaSizeBytes == 0 { + v.Flag_Etcd_V3_2.QuotaSizeBytes = defaultEtcdQuotaSizeBytes + } cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__v3_2.String()] = v } if v, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__tip.String()]; ok { + if v.DatabasePortToConnect == 0 { + v.DatabasePortToConnect = defaultEtcdClientPort + } if v.Flag_Etcd_Tip.SnapshotCount == 0 { v.Flag_Etcd_Tip.SnapshotCount = defaultEtcdSnapshotCount } + if v.Flag_Etcd_Tip.QuotaSizeBytes == 0 { + v.Flag_Etcd_Tip.QuotaSizeBytes = defaultEtcdQuotaSizeBytes + } cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__tip.String()] = v } // TODO: add JVM flags if v, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_zookeeper__r3_4_9.String()]; ok { + if v.DatabasePortToConnect == 0 { + v.DatabasePortToConnect = defaultZookeeperClientPort + } + v.Flag_Zookeeper_R3_4_9.ClientPort = v.DatabasePortToConnect if v.Flag_Zookeeper_R3_4_9.TickTime == 0 { v.Flag_Zookeeper_R3_4_9.TickTime = defaultZookeeperTickTime } @@ -177,6 +214,13 @@ func ReadConfig(fpath string, analyze bool) (*Config, error) { cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_zookeeper__r3_4_9.String()] = v } if v, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_zookeeper__r3_5_2_alpha.String()]; ok { + if v.DatabasePortToConnect == 0 { + v.DatabasePortToConnect = defaultZookeeperClientPort + } + v.Flag_Zookeeper_R3_5_2Alpha.ClientPort = v.DatabasePortToConnect + if v.Flag_Zookeeper_R3_5_2Alpha.TickTime == 0 { + v.Flag_Zookeeper_R3_5_2Alpha.TickTime = defaultZookeeperTickTime + } if v.Flag_Zookeeper_R3_5_2Alpha.TickTime == 0 { v.Flag_Zookeeper_R3_5_2Alpha.TickTime = defaultZookeeperTickTime } @@ -195,6 +239,19 @@ func ReadConfig(fpath string, analyze bool) (*Config, error) { cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_zookeeper__r3_5_2_alpha.String()] = v } + if v, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_consul__v0_7_5.String()]; ok { + if v.DatabasePortToConnect == 0 { + v.DatabasePortToConnect = defaultConsulClientPort + } + cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_consul__v0_7_5.String()] = v + } + if v, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_consul__v0_8_0.String()]; ok { + if v.DatabasePortToConnect == 0 { + v.DatabasePortToConnect = defaultConsulClientPort + } + cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_consul__v0_8_0.String()] = v + } + if cfg.ConfigClientMachineInitial.GoogleCloudStorageKeyPath != "" && !analyze { bts, err = ioutil.ReadFile(cfg.ConfigClientMachineInitial.GoogleCloudStorageKeyPath) if err != nil { @@ -262,8 +319,8 @@ func (cfg *Config) ToRequest(databaseID string, op dbtesterpb.Operation, idx int case dbtesterpb.DatabaseID_zookeeper__r3_4_9: req.Flag_Zookeeper_R3_4_9 = &dbtesterpb.Flag_Zookeeper_R3_4_9{ MyID: uint32(idx + 1), + ClientPort: gcfg.Flag_Zookeeper_R3_4_9.ClientPort, TickTime: gcfg.Flag_Zookeeper_R3_4_9.TickTime, - ClientPort: int64(gcfg.DatabasePortToConnect), InitLimit: gcfg.Flag_Zookeeper_R3_4_9.InitLimit, SyncLimit: gcfg.Flag_Zookeeper_R3_4_9.SyncLimit, SnapCount: gcfg.Flag_Zookeeper_R3_4_9.SnapCount, @@ -272,8 +329,8 @@ func (cfg *Config) ToRequest(databaseID string, op dbtesterpb.Operation, idx int case dbtesterpb.DatabaseID_zookeeper__r3_5_2_alpha: req.Flag_Zookeeper_R3_5_2Alpha = &dbtesterpb.Flag_Zookeeper_R3_5_2Alpha{ MyID: uint32(idx + 1), + ClientPort: gcfg.Flag_Zookeeper_R3_5_2Alpha.ClientPort, TickTime: gcfg.Flag_Zookeeper_R3_5_2Alpha.TickTime, - ClientPort: int64(gcfg.DatabasePortToConnect), InitLimit: gcfg.Flag_Zookeeper_R3_5_2Alpha.InitLimit, SyncLimit: gcfg.Flag_Zookeeper_R3_5_2Alpha.SyncLimit, SnapCount: gcfg.Flag_Zookeeper_R3_5_2Alpha.SnapCount, diff --git a/config_dbtester_test.go b/config_dbtester_test.go index c323f18c..bce8df1a 100644 --- a/config_dbtester_test.go +++ b/config_dbtester_test.go @@ -102,6 +102,7 @@ func TestConfig(t *testing.T) { AgentPortToConnect: 3500, AgentEndpoints: []string{"10.240.0.21:3500", "10.240.0.22:3500", "10.240.0.23:3500"}, Flag_Zookeeper_R3_5_2Alpha: &dbtesterpb.Flag_Zookeeper_R3_5_2Alpha{ + ClientPort: 2181, TickTime: 2000, InitLimit: 5, SyncLimit: 5, @@ -538,8 +539,8 @@ func TestConfig(t *testing.T) { }, Flag_Zookeeper_R3_5_2Alpha: &dbtesterpb.Flag_Zookeeper_R3_5_2Alpha{ MyID: 3, - TickTime: 2000, ClientPort: 2181, + TickTime: 2000, InitLimit: 5, SyncLimit: 5, SnapCount: 100000, diff --git a/dbtesterpb/flag_zookeeper.proto b/dbtesterpb/flag_zookeeper.proto index 1c442e61..b81cfd85 100644 --- a/dbtesterpb/flag_zookeeper.proto +++ b/dbtesterpb/flag_zookeeper.proto @@ -10,15 +10,25 @@ option (gogoproto.goproto_getters_all) = false; message flag__zookeeper__r3_4_9 { // JavaDJuteMaxBuffer is for '-Djute.maxbuffer' flag. + // See http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html#Unsafe+Options for more. uint64 JavaDJuteMaxBuffer = 1 [(gogoproto.moretags) = "yaml:\"java_d_jute_max_buffer\""]; // JavaXms is for '-Xms' flag. + // See https://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/jrdocs/refman/optionX.html for more. string JavaXms = 2 [(gogoproto.moretags) = "yaml:\"java_xms\""]; // JavaXmx is for '-Xmx' flag. + // See https://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/jrdocs/refman/optionX.html for more. string JavaXmx = 3 [(gogoproto.moretags) = "yaml:\"java_xmx\""]; - uint32 myID = 100; + // MyID contains a single integer in human readable ASCII text that represents the server id. + // Each ZooKeeper server has a unique id. This id is used in two places: the myid file and the + // configuration file. The myid file identifies the server that corresponds to the given data directory. + // See http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html#sc_dataFileManagement for more. + uint32 MyID = 100; + + // ClientPort is by default '2181'. + // No need to set manually. Inherited from 'database_port_to_connect'. int64 ClientPort = 101; // See http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html for more. @@ -31,15 +41,25 @@ message flag__zookeeper__r3_4_9 { message flag__zookeeper__r3_5_2_alpha { // JavaDJuteMaxBuffer is for '-Djute.maxbuffer' flag. + // See http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html#Unsafe+Options for more. uint64 JavaDJuteMaxBuffer = 1 [(gogoproto.moretags) = "yaml:\"java_d_jute_max_buffer\""]; // JavaXms is for '-Xms' flag. + // See https://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/jrdocs/refman/optionX.html for more. string JavaXms = 2 [(gogoproto.moretags) = "yaml:\"java_xms\""]; // JavaXmx is for '-Xmx' flag. + // See https://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/jrdocs/refman/optionX.html for more. string JavaXmx = 3 [(gogoproto.moretags) = "yaml:\"java_xmx\""]; - uint32 myID = 100; + // MyID contains a single integer in human readable ASCII text that represents the server id. + // Each ZooKeeper server has a unique id. This id is used in two places: the myid file and the + // configuration file. The myid file identifies the server that corresponds to the given data directory. + // See http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html#sc_dataFileManagement for more. + uint32 MyID = 100; + + // ClientPort is by default '2181'. + // No need to set manually. Inherited from 'database_port_to_connect'. int64 ClientPort = 101; // See http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html for more.