diff --git a/cluster/error.go b/cluster/error.go index a927b13ac..d992440ea 100644 --- a/cluster/error.go +++ b/cluster/error.go @@ -80,8 +80,8 @@ 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)", - "ERR00072": "ProxySQL could not set discoverd slave %s as reader (%s)", + "ERR00071": "ProxySQL %s could not set discoverd master %s as writer (%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_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..7e37b9b3d 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 { @@ -406,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() {