Skip to content

Commit

Permalink
add server flag for server_reset_query_always and change its default …
Browse files Browse the repository at this point in the history
…value to 0
  • Loading branch information
angeloskyratzakos committed Oct 25, 2022
1 parent f3a9804 commit 4dc57a3
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 2 deletions.
4 changes: 4 additions & 0 deletions cmd/cloud/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@ func init() {
serverCmd.PersistentFlags().Int("max-client-connections", 20000, "The db proxy max client connections.")
serverCmd.PersistentFlags().Int("server-idle-timeout", 30, "The server idle timeout.")
serverCmd.PersistentFlags().Int("server-lifetime", 300, "The server lifetime.")
serverCmd.PersistentFlags().Int("server-reset-query-always", 0, "Whether server_reset_query should be run in all pooling modes.")

serverCmd.PersistentFlags().String("kubecost-token", "", "Set a kubecost token")
serverCmd.PersistentFlags().String("ndots-value", "5", "The default ndots value for installations.")
Expand Down Expand Up @@ -179,6 +180,9 @@ var serverCmd = &cobra.Command{
serverLifetime, _ := command.Flags().GetInt("server-lifetime")
model.SetServerLifetime(serverLifetime)

serverResetQueryAlways, _ := command.Flags().GetInt("server-reset-query-always")
model.SetServerResetQueryAlways(serverResetQueryAlways)

gitlabOAuthToken, _ := command.Flags().GetString("gitlab-oauth")
if len(gitlabOAuthToken) == 0 {
gitlabOAuthToken = os.Getenv(model.GitlabOAuthTokenKey)
Expand Down
4 changes: 2 additions & 2 deletions internal/provisioner/pgbouncer.go
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ max_client_conn = %d
max_db_connections = %d
server_idle_timeout = %d
server_lifetime = %d
server_reset_query_always = 1
server_reset_query_always = %d
[databases]
`
Expand Down Expand Up @@ -248,7 +248,7 @@ func generatePGBouncerIni(vpcID string, store model.ClusterUtilityDatabaseStoreI
}

func generatePGBouncerBaseIni() string {
return fmt.Sprintf(baseIni, model.GetMinPoolSize(), model.GetDefaultPoolSize(), model.GetReservePoolSize(), model.GetMaxClientConnections(), model.GetMaxDatabaseConnectionsPerPool(), model.GetServerIdleTimeout(), model.GetServerLifetime())
return fmt.Sprintf(baseIni, model.GetMinPoolSize(), model.GetDefaultPoolSize(), model.GetReservePoolSize(), model.GetMaxClientConnections(), model.GetMaxDatabaseConnectionsPerPool(), model.GetServerIdleTimeout(), model.GetServerLifetime(), model.GetServerResetQueryAlways())
}

func generatePGBouncerUserlist(vpcID string, awsClient aws.AWS) (string, error) {
Expand Down
13 changes: 13 additions & 0 deletions model/multitenant_database.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@ var serverIdleTimeout int = 30
// serverLifetime is the server lifetime
var serverLifetime int = 300

// serverResetQueryAlways is boolean 0 or 1 whether server_reset_query should be run in all pooling modes.
var serverResetQueryAlways int = 0

// SetMaxDatabaseConnectionsPerPool is used to define how many database
// connections are created per logical database pool with proxy databases.
func SetMaxDatabaseConnectionsPerPool(val int) error {
Expand Down Expand Up @@ -101,6 +104,11 @@ func SetServerLifetime(val int) {
serverLifetime = val
}

// SetServerResetQueryAlways is used to define 0 or 1 whether server_reset_query should be run in all pooling modes.
func SetServerResetQueryAlways(val int) {
serverResetQueryAlways = val
}

// GetMaxDatabaseConnectionsPerPool returns the value of
// maxDatabaseConnectionsPerPool.
func GetMaxDatabaseConnectionsPerPool() int {
Expand Down Expand Up @@ -137,6 +145,11 @@ func GetServerLifetime() int {
return serverLifetime
}

// GetServerResetQueryAlways returns the value of serverResetQueryAlways.
func GetServerResetQueryAlways() int {
return serverResetQueryAlways
}

// MultitenantDatabase represents database infrastructure that contains multiple
// installation databases.
type MultitenantDatabase struct {
Expand Down

0 comments on commit 4dc57a3

Please sign in to comment.