From c71868570868b413ea38573171537f873e889b7a Mon Sep 17 00:00:00 2001 From: ahfa92 Date: Wed, 3 Jan 2024 05:42:23 +0100 Subject: [PATCH 1/2] make ERR00071 warning more informative --- cluster/error.go | 2 +- cluster/prx_janitor.go | 7 +++++-- cluster/prx_proxysql.go | 7 +++++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/cluster/error.go b/cluster/error.go index a927b13ac..c48e4c501 100644 --- a/cluster/error.go +++ b/cluster/error.go @@ -80,7 +80,7 @@ var clusterError = map[string]string{ "ERR00068": "Arbitration looser", "ERR00069": "ProxySQL could not set %s as reader (%s) different state OFFLINE_HARD", "ERR00070": "ProxySQL could not set %s as reader (%s) different state ONLINE", - "ERR00071": "ProxySQL could not set discoverd master %s as writer (%s)", + "ERR00071": "ProxySQL %s could not set discoverd master %s as writer (%s)", "ERR00072": "ProxySQL could not set discoverd slave %s as reader (%s)", "ERR00073": "Could not get events on server %s", "ERR00074": "Prefered server %s not found in configured server list", diff --git a/cluster/prx_janitor.go b/cluster/prx_janitor.go index 1b035701e..2ebfd14b2 100644 --- a/cluster/prx_janitor.go +++ b/cluster/prx_janitor.go @@ -237,8 +237,11 @@ func (proxy *ProxyJanitor) Refresh() error { if s.GetPrevState() == stateUnconn || s.GetPrevState() == stateFailed || (len(proxy.BackendsWrite) == 0 || !isFoundBackendWrite) { // if the proxy comes back from a previously failed or standalone state, reintroduce it in // the appropriate HostGroup - - cluster.StateMachine.AddState("ERR00071", state.State{ErrType: "WARNING", ErrDesc: fmt.Sprintf(clusterError["ERR00071"], err, s.GetURL()), ErrFrom: "PRX", ServerUrl: proxy.Name}) + errstr := "" + if err != nil { + errstr = err.Error() + } + cluster.StateMachine.AddState("ERR00071", state.State{ErrType: "WARNING", ErrDesc: fmt.Sprintf(clusterError["ERR00071"], proxy.Name, s.GetURL(), errstr), ErrFrom: "PRX", ServerUrl: proxy.Name}) if psql.ExistAsWriterOrOffline(misc.Unbracket(s.GetHost()), strconv.Itoa(s.GetWritePort())) { err = psql.SetOnline(misc.Unbracket(s.GetHost()), strconv.Itoa(s.GetWritePort())) if err != nil { diff --git a/cluster/prx_proxysql.go b/cluster/prx_proxysql.go index 60ec11dc6..6fb0b17fb 100644 --- a/cluster/prx_proxysql.go +++ b/cluster/prx_proxysql.go @@ -364,8 +364,11 @@ func (proxy *ProxySQLProxy) Refresh() error { } else if s.IsLeader() && (s.PrevState == stateUnconn || s.PrevState == stateFailed || (len(proxy.BackendsWrite) == 0 || !isFoundBackendWrite)) { // if the master comes back from a previously failed or standalone state, reintroduce it in // the appropriate HostGroup - - cluster.StateMachine.AddState("ERR00071", state.State{ErrType: "WARNING", ErrDesc: fmt.Sprintf(clusterError["ERR00071"], err, s.URL), ErrFrom: "PRX", ServerUrl: proxy.Name}) + errstr := "" + if err != nil { + errstr = err.Error() + } + cluster.StateMachine.AddState("ERR00071", state.State{ErrType: "WARNING", ErrDesc: fmt.Sprintf(clusterError["ERR00071"], proxy.Name, s.URL, errstr), ErrFrom: "PRX", ServerUrl: proxy.Name}) if psql.ExistAsWriterOrOffline(misc.Unbracket(s.Host), s.Port) { err = psql.SetOnline(misc.Unbracket(s.Host), s.Port) if err != nil { From 88e3f2d3f8886103e343833c2f5092859d542972 Mon Sep 17 00:00:00 2001 From: ahfa92 Date: Wed, 3 Jan 2024 06:00:38 +0100 Subject: [PATCH 2/2] make ERR00072 warning more informative --- cluster/error.go | 2 +- cluster/prx_proxysql.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cluster/error.go b/cluster/error.go index c48e4c501..d992440ea 100644 --- a/cluster/error.go +++ b/cluster/error.go @@ -81,7 +81,7 @@ var clusterError = map[string]string{ "ERR00069": "ProxySQL could not set %s as reader (%s) different state OFFLINE_HARD", "ERR00070": "ProxySQL could not set %s as reader (%s) different state ONLINE", "ERR00071": "ProxySQL %s could not set discoverd master %s as writer (%s)", - "ERR00072": "ProxySQL could not set discoverd slave %s as reader (%s)", + "ERR00072": "ProxySQL %s could not set discoverd slave %s as reader (%s)", "ERR00073": "Could not get events on server %s", "ERR00074": "Prefered server %s not found in configured server list", "ERR00075": "Can't fecth Processlist %s", diff --git a/cluster/prx_proxysql.go b/cluster/prx_proxysql.go index 6fb0b17fb..7e37b9b3d 100644 --- a/cluster/prx_proxysql.go +++ b/cluster/prx_proxysql.go @@ -409,7 +409,7 @@ func (proxy *ProxySQLProxy) Refresh() error { cluster.LogPrintf(LvlInfo, "Monitor ProxySQL setting reader standalone server %s", s.URL) } if err != nil { - cluster.StateMachine.AddState("ERR00072", state.State{ErrType: "WARNING", ErrDesc: fmt.Sprintf(clusterError["ERR00072"], err, s.URL), ErrFrom: "PRX", ServerUrl: proxy.Name}) + cluster.StateMachine.AddState("ERR00072", state.State{ErrType: "WARNING", ErrDesc: fmt.Sprintf(clusterError["ERR00072"], proxy.Name, s.URL, err), ErrFrom: "PRX", ServerUrl: proxy.Name}) } updated = true } else if s.IsSlaveOrSync() && !isFoundBackendRead && !s.IsIgnored() {