Add TO Golang DBMaxConns config
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/10a410a3 Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/10a410a3 Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/10a410a3 Branch: refs/heads/master Commit: 10a410a3467f5e864ff47dd44ec3d7184d34923b Parents: d45733b Author: Robert Butts <robert.o.bu...@gmail.com> Authored: Tue Aug 1 18:03:43 2017 -0600 Committer: Dewayne Richardson <dewr...@apache.org> Committed: Thu Aug 10 09:46:03 2017 -0600 ---------------------------------------------------------------------- traffic_ops/traffic_ops_golang/config.go | 1 + traffic_ops/traffic_ops_golang/perlconfig.go | 22 +++++++++++++------- .../traffic_ops_golang/traffic_ops_golang.go | 2 ++ 3 files changed, 18 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/10a410a3/traffic_ops/traffic_ops_golang/config.go ---------------------------------------------------------------------- diff --git a/traffic_ops/traffic_ops_golang/config.go b/traffic_ops/traffic_ops_golang/config.go index 0c87878..3dc06c9 100644 --- a/traffic_ops/traffic_ops_golang/config.go +++ b/traffic_ops/traffic_ops_golang/config.go @@ -41,6 +41,7 @@ type Config struct { Insecure bool `json:"insecure"` CertPath string `json:"cert_path"` KeyPath string `json:"key_path"` + MaxDBConnections int `json:"max_db_connections"` LogLocationError string `json:"log_location_error"` LogLocationWarning string `json:"log_location_warning"` LogLocationInfo string `json:"log_location_info"` http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/10a410a3/traffic_ops/traffic_ops_golang/perlconfig.go ---------------------------------------------------------------------- diff --git a/traffic_ops/traffic_ops_golang/perlconfig.go b/traffic_ops/traffic_ops_golang/perlconfig.go index a3013dc..d088fb3 100644 --- a/traffic_ops/traffic_ops_golang/perlconfig.go +++ b/traffic_ops/traffic_ops_golang/perlconfig.go @@ -33,6 +33,7 @@ import ( const OldAccessLogPath = "/var/log/traffic_ops/access.log" const NewLogPath = "/var/log/traffic_ops/traffic_ops_golang.log" +const DefaultMaxDBConnections = 50 func GetPerlConfigs(cdnConfPath string, dbConfPath string) (Config, error) { configBytes, err := ioutil.ReadFile(cdnConfPath) @@ -71,6 +72,12 @@ func getPerlConfigsFromStrs(cdnConfBytes string, dbConfBytes string) (Config, er cfg.LogLocationEvent = OldAccessLogPath cfg.LogLocationDebug = log.LogLocationNull + if dbconf.MaxConnections != nil { + cfg.MaxDBConnections = *dbconf.MaxConnections + } else { + cfg.MaxDBConnections = DefaultMaxDBConnections + } + return cfg, nil } @@ -272,13 +279,14 @@ func getSecret(obj map[string]interface{}) (string, error) { } type DatabaseConf struct { - Description string `json:"description"` - DBName string `json:"dbname"` - Hostname string `json:"hostname"` - User string `json:"user"` - Password string `json:"password"` - Port string `json:"port"` - Type string `json:"type"` + Description string `json:"description"` + DBName string `json:"dbname"` + Hostname string `json:"hostname"` + User string `json:"user"` + Password string `json:"password"` + Port string `json:"port"` + Type string `json:"type"` + MaxConnections *int `json:"max_connections"` } func getDbConf(s string) (DatabaseConf, error) { http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/10a410a3/traffic_ops/traffic_ops_golang/traffic_ops_golang.go ---------------------------------------------------------------------- diff --git a/traffic_ops/traffic_ops_golang/traffic_ops_golang.go b/traffic_ops/traffic_ops_golang/traffic_ops_golang.go index 6d2c75b..4a41954 100644 --- a/traffic_ops/traffic_ops_golang/traffic_ops_golang.go +++ b/traffic_ops/traffic_ops_golang/traffic_ops_golang.go @@ -77,6 +77,8 @@ func main() { } defer db.Close() + db.SetMaxOpenConns(cfg.MaxDBConnections) + if err := RegisterRoutes(ServerData{DB: db, Config: cfg}); err != nil { log.Errorf("registering routes: %v\n", err) return