Skip to content

Commit

Permalink
Merge pull request #3923 from nats-io/JMS-LeafZNames
Browse files Browse the repository at this point in the history
Update LEAFZ to include leafnode server/connection name
  • Loading branch information
derekcollison committed Feb 28, 2023
2 parents d920ca6 + 9d4a603 commit 321afe6
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 1 deletion.
8 changes: 7 additions & 1 deletion server/leafnode.go
Expand Up @@ -888,7 +888,13 @@ func (s *Server) createLeafNode(conn net.Conn, rURL *url.URL, remote *leafNodeCf
}
now := time.Now().UTC()

c := &client{srv: s, nc: conn, kind: LEAF, opts: defaultOpts, mpay: maxPay, msubs: maxSubs, start: now, last: now}
var clientOpts = ClientOpts{
Name: opts.ServerName,
Verbose: defaultOpts.Verbose,
Pedantic: defaultOpts.Pedantic,
Echo: defaultOpts.Echo,
}
c := &client{srv: s, nc: conn, kind: LEAF, opts: clientOpts, mpay: maxPay, msubs: maxSubs, start: now, last: now}
// Do not update the smap here, we need to do it in initLeafNodeSmapAndSendSubs
c.leaf = &leaf{}

Expand Down
2 changes: 2 additions & 0 deletions server/monitor.go
Expand Up @@ -2094,6 +2094,7 @@ type LeafzOptions struct {

// LeafInfo has detailed information on each remote leafnode connection.
type LeafInfo struct {
Name string `json:"name"`
Account string `json:"account"`
IP string `json:"ip"`
Port int `json:"port"`
Expand Down Expand Up @@ -2133,6 +2134,7 @@ func (s *Server) Leafz(opts *LeafzOptions) (*Leafz, error) {
for _, ln := range lconns {
ln.mu.Lock()
lni := &LeafInfo{
Name: ln.opts.Name,
Account: ln.acc.Name,
IP: ln.host,
Port: int(ln.port),
Expand Down
9 changes: 9 additions & 0 deletions server/monitor_test.go
Expand Up @@ -3707,11 +3707,13 @@ func TestMonitorLeafz(t *testing.T) {
}
acc1, mycreds1 := createAcc(t)
acc2, mycreds2 := createAcc(t)
leafName := "my-leaf-node"

content = `
port: -1
http: "127.0.0.1:-1"
ping_interval = 1
server_name: %s
accounts {
%s {
users [
Expand Down Expand Up @@ -3740,6 +3742,7 @@ func TestMonitorLeafz(t *testing.T) {
}
`
config := fmt.Sprintf(content,
leafName,
acc1.Name, acc2.Name,
acc1.Name, ob.LeafNode.Port, mycreds1,
acc2.Name, ob.LeafNode.Port, mycreds2)
Expand Down Expand Up @@ -3814,6 +3817,9 @@ func TestMonitorLeafz(t *testing.T) {
} else {
t.Fatalf("Expected account to be %q or %q, got %q", acc1.Name, acc2.Name, ln.Account)
}
if ln.Name != leafName {
t.Fatalf("Expected name to be %q, got %q", leafName, ln.Name)
}
if ln.RTT == "" {
t.Fatalf("RTT not tracked?")
}
Expand Down Expand Up @@ -3902,6 +3908,9 @@ func TestMonitorLeafz(t *testing.T) {
} else {
t.Fatalf("Expected account to be %q or %q, got %q", acc1.Name, acc2.Name, ln.Account)
}
if ln.Name != leafName {
t.Fatalf("Expected name to be %q, got %q", leafName, ln.Name)
}
if ln.RTT == "" {
t.Fatalf("RTT not tracked?")
}
Expand Down

0 comments on commit 321afe6

Please sign in to comment.