mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
proxy/tcpproxy: add more logs
This commit is contained in:
@@ -19,6 +19,12 @@ import (
|
||||
"net"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/coreos/pkg/capnslog"
|
||||
)
|
||||
|
||||
var (
|
||||
plog = capnslog.NewPackageLogger("github.com/coreos/etcd/proxy", "tcpproxy")
|
||||
)
|
||||
|
||||
type remote struct {
|
||||
@@ -33,16 +39,16 @@ func (r *remote) inactivate() {
|
||||
r.inactive = true
|
||||
}
|
||||
|
||||
func (r *remote) tryReactivate() {
|
||||
func (r *remote) tryReactivate() error {
|
||||
conn, err := net.Dial("tcp", r.addr)
|
||||
if err != nil {
|
||||
return
|
||||
return err
|
||||
}
|
||||
conn.Close()
|
||||
r.mu.Lock()
|
||||
defer r.mu.Unlock()
|
||||
r.inactive = false
|
||||
return
|
||||
return nil
|
||||
}
|
||||
|
||||
func (r *remote) isActive() bool {
|
||||
@@ -106,6 +112,7 @@ func (tp *TCPProxy) serve(in net.Conn) {
|
||||
break
|
||||
}
|
||||
remote.inactivate()
|
||||
plog.Warningf("deactivated endpoint [%s] due to %v for %v", remote.addr, err, tp.MonitorInterval)
|
||||
}
|
||||
|
||||
if out == nil {
|
||||
@@ -141,7 +148,13 @@ func (tp *TCPProxy) runMonitor() {
|
||||
tp.mu.Lock()
|
||||
for _, r := range tp.remotes {
|
||||
if !r.isActive() {
|
||||
go r.tryReactivate()
|
||||
go func() {
|
||||
if err := r.tryReactivate(); err != nil {
|
||||
plog.Warningf("failed to activate endpoint [%s] due to %v (stay inactive for another %v)", r.addr, err, tp.MonitorInterval)
|
||||
} else {
|
||||
plog.Printf("activated %s", r.addr)
|
||||
}
|
||||
}()
|
||||
}
|
||||
}
|
||||
tp.mu.Unlock()
|
||||
|
||||
Reference in New Issue
Block a user